:root {
    --cb-primary: #0066cc;
    --cb-secondary: #ff6600;
}
  /* prodcut list css start here  */
.citybazaar-products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin: 0;
}

.citybazaar-products.citybazaar-theme-grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
}

.citybazaar-products .cb-product {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    box-sizing: border-box;
    padding: 16px;
    width: 100% !important;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.cb-product-content {
    flex: 1;
}

.citybazaar-products .cb-product a {
    color: var(--cb-primary);
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    text-decoration: none;
}

.citybazaar-products .cb-product .cb-meta {
    color: var(--cb-secondary);
    font-size: 0.95rem;
    margin-top: 8px;
}

.citybazaar-products .cb-product:hover {
    border-color: var(--cb-primary);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.citybazaar-theme-grid .cb-product {
    width: calc(33.333% - 16px);
}

.citybazaar-theme-catalog .cb-product {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.citybazaar-theme-minimal .cb-product {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.citybazaar-theme-modern .cb-product {
    border-radius: 18px;
}

/* Product Detail Page Styling */
.cb-single-product-wrapper {
    padding: 40px 0;
}

.cb-single-product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.cb-product-gallery {
    position: sticky;
    top: 20px;
}

.cb-product-image-main {
    width: 100%;
    margin-bottom: 16px;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}

.cb-product-image-main img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.cb-product-image-placeholder {
    width: 100%;
    height: 400px;
    background: #f0f0f0;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 16px;
}

.cb-product-info {
    padding: 0;
}

.cb-product-name {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 16px 0;
    color: #333;
    line-height: 1.3;
}

.cb-product-category,
.cb-product-store {
    margin-bottom: 12px;
    display: flex;
    gap: 8px;
    font-size: 14px;
}

.cb-product-category .cb-label,
.cb-product-store .cb-label {
    font-weight: 600;
    color: #666;
}

.cb-product-category span,
.cb-product-store span {
    color: var(--cb-primary);
}

.cb-product-pricing {
    margin: 24px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    border-left: 4px solid var(--cb-primary);
}

.cb-price-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 16px;
}

.cb-price-row:last-child {
    margin-bottom: 0;
}

.cb-price-row .cb-label {
    font-weight: 600;
    color: #666;
}

.cb-offer-price {
    font-size: 24px;
    font-weight: 700;
    color: var(--cb-secondary);
}

.cb-regular-price {
    color: #999;
    text-decoration: line-through;
}

.cb-product-stock {
    margin-bottom: 16px;
    display: flex;
    gap: 8px;
    font-size: 14px;
}

.cb-product-stock .cb-label {
    font-weight: 600;
    color: #666;
}

.cb-stock-qty {
    padding: 2px 8px;
    background: #e8f5e9;
    color: #2e7d32;
    border-radius: 4px;
    font-weight: 600;
}

.cb-product-description {
    margin: 30px 0;
}

.cb-product-description h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px 0;
    color: #333;
}

.cb-desc {
    color: #666;
    line-height: 1.6;
    font-size: 14px;
}

.cb-desc p {
    margin-bottom: 12px;
}

.cb-product-actions {
    margin-top: 30px;
    display: flex;
    gap: 12px;
}

.cb-product-actions .cb-button {
    padding: 12px 32px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    background: var(--cb-primary);
    color: #fff;
    border: 2px solid var(--cb-primary);
}
.cb-price-box{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}

.cb-current-price{
    font-size:18px;
    font-weight:700;
    color:#212121;
    line-height:1;
}

.cb-old-price{
    font-size:14px;
    color:#878787;
    text-decoration:line-through;
}

.cb-discount{
    font-size:14px;
    font-weight:600;
    color:#388e3c;
}
.cb-category{
    display:inline-flex;
    align-items:center;
    padding:6px 12px;
    border-radius:50px;
    background:#f1f3f6;
    color:#555;
    font-size:12px;
    font-weight:600;
    line-height:1;
    /* margin-bottom:12px; */
    width:fit-content;
    text-transform:capitalize;
}

.cb-product-title{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space: normal;
    overflow-wrap: break-word;
    min-height:42px;
  
    margin-bottom:10px;

    color:#212121 !important;
    font-size:21px !important;
    font-weight:500;
    line-height:1.5;
    text-decoration:none !important;

    transition:color .25s ease;
    cursor:pointer;
}

.cb-product-title:hover{
    color:#2874f0 !important;
}
  /* prodcut list css end  here  */


/* Reels List Styling start here  */
.cb-reels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 32px;
}

.cb-reel-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.04);
}

.cb-reel-open {
    display: block;
    border: none;
    background: transparent;
    padding: 0;
    width: 100%;
    cursor: pointer;
    position: relative;
}

.cb-reel-open img {
    width: 100%;
    height: auto;
    display: block;
}

.cb-reel-no-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 84px 16px;
    background: #f5f5f5;
    color: #777;
    font-size: 14px;
}

.cb-reel-play-button {
    position: absolute;
    inset: auto 16px 16px auto;
    right: 16px;
    bottom: 16px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 13px;
}

.cb-reel-meta {
    padding: 16px;
}

.cb-reel-meta h3 {
    margin: 0 0 8px;
    font-size: 18px;
    color: #222;
}

.cb-reel-meta p {
    margin: 0 0 12px;
    color: #555;
    line-height: 1.5;
}

.cb-reel-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: #777;
    margin-bottom: 12px;
}

.cb-reel-share {
    display: inline-block;
    color: var(--cb-primary);
    text-decoration: none;
    font-weight: 600;
}

.cb-reel-player {
    background: #000;
}

.cb-reel-player video {
    width: 100%;
    height: auto;
    display: block;
}

.cb-no-results {
    padding: 24px;
    text-align: center;
    color: #555;
    font-size: 16px;
}


.cb-product-actions .cb-button:hover {
    background: #0052a3;
    border-color: #0052a3;
}

.cb-product-actions .cb-button-secondary {
    background: transparent;
    color: var(--cb-primary);
    border: 2px solid var(--cb-primary);
}

.cb-product-actions .cb-button-secondary:hover {
    background: var(--cb-primary);
    color: #fff;
}

.cb-error-notice {
    padding: 30px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 8px;
    text-align: center;
    color: #856404;
}

.cb-error-notice p {
    margin: 0 0 20px 0;
    font-size: 16px;
}

/* Pagination Styling */
.cb-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 40px 0;
    flex-wrap: wrap;
}

.cb-pagination .cb-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: var(--cb-primary);
    background: #fff;
    text-decoration: none !important;
    font-weight: 500;
    transition: all 0.2s ease;
}

.cb-pagination .cb-page-link:hover {
    background: var(--cb-primary);
    color: #fff;
    border-color: var(--cb-primary);
}

.cb-pagination .cb-page-link.current,
.cb-pagination .cb-page-link.active {
    background: var(--cb-primary);
    color: #fff;
    border-color: var(--cb-primary);
    font-weight: 700;
    cursor: default;
}

.cb-pagination .cb-page-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    color: #999;
    font-weight: 500;
}

.cb-pagination .prev-page,
.cb-pagination .next-page {
    font-weight: 600;
}

.cb-search-form {
    margin-bottom: 24px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cb-search-form label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    width: 100%;
}

.cb-search-form input {
    flex: 1;
    min-width: 200px;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.cb-search-form button {
    padding: 12px 32px;
    background: var(--cb-primary);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.cb-search-form button:hover {
    background: #0052a3;
}

.cb-search-summary {
    margin-bottom: 12px;
    color: #666;
    font-size: 14px;
}

.cb-total-count {
    margin-bottom: 16px;
    font-weight: 600;
    color: #333;
}

.cb-no-results {
    padding: 40px 20px;
    text-align: center;
    color: #999;
    font-size: 16px;
    background: #f5f5f5;
    border-radius: 8px;
    grid-column: 1 / -1;
}

.cb-product-image {
    margin-bottom: 12px;
    max-width: 280px;
}

.cb-product-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* Responsive Design */
@media (max-width: 768px) {
    .cb-single-product {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cb-product-gallery {
        position: static;
    }

    .cb-product-name {
        font-size: 18px;
    }

    .cb-product-image-main {
        min-height: 300px;
    }

    .citybazaar-theme-grid .cb-product {
        width: calc(50% - 16px);
    }

    .cb-pagination {
        gap: 4px;
    }

    .cb-pagination .cb-page-link {
        min-width: 36px;
        height: 36px;
        padding: 0 8px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .cb-single-product-wrapper {
        padding: 20px 0;
    }

    .cb-product-name {
        font-size: 18px;
    }

    .cb-product-image-main {
        min-height: 250px;
    }

    .citybazaar-products {
        gap: 12px;
    }

    .citybazaar-theme-grid .cb-product {
        width: 100%;
    }

    .cb-pagination {
        gap: 2px;
    }

    .cb-pagination .cb-page-link {
        min-width: 32px;
        height: 32px;
        padding: 0 6px;
        font-size: 12px;
    }

    .cb-pagination .cb-page-dots {
        padding: 0 4px;
        font-size: 12px;
    }

    .cb-search-form {
        flex-direction: column;
    }

    .cb-search-form input,
    .cb-search-form button {
        width: 100%;
    }

    .cb-product-pricing {
        margin: 16px 0;
        padding: 16px;
    }

    .cb-product-actions {
        flex-direction: column;
    }

    .cb-product-actions .cb-button {
        width: 100%;
        text-align: center;
    }
}
.cb-logout-btn{
    background:red;
    color:#fff;
    padding:12px 18px;
    border-radius:8px;
    text-decoration:none;
}

.cb-reels-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fill,minmax(280px,1fr));
    gap:20px;
}

.cb-reel-card{
    border:1px solid #ddd;
    padding:15px;
    border-radius:10px;
    background:#fff;
}

.cb-reel-card img{
    width:100%;
    border-radius:10px;
}

Here is a clean, modern, and fully responsive CSS snippet for styling a pagination component. This design provides clear visual feedback (hover states, active page highlight, and disabled states) and follows modern web design best practices.

HTML Structure
To keep things semantic, it is best to wrap your pagination links inside a <nav> element with an unordered list (<ul>).

HTML
<nav class="pagination-container">
  <ul class="pagination">
    <li><a href="#" class="prev disabled">« Prev</a></li>
    <li><a href="#">1</a></li>
    <li><span class="gap">…</span></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li><a href="#" class="active">6</a></li>
    <li><a href="#" class="next">Next »</a></li>
  </ul>
</nav>
Modern CSS Layout
This CSS utilizes Flexbox for alignment, standard spacing variables for quick customization, and smooth transitions for interactive elements.

CSS
/* Custom properties for easy theme adjustments */
:root {
  --pager-bg: #ffffff;
  --pager-border: #e0e0e0;
  --pager-text: #333333;
  --pager-hover-bg: #f5f5f5;
  --pager-active-bg: #0073aa; /* Change to your brand color */
  --pager-active-text: #ffffff;
  --pager-disabled-text: #b4b4b4;
  --pager-radius: 4px;
}

/* Container alignment */
.pagination-container {
  display: flex;
  justify-content: center;
  margin: 20px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Base list styling */
.pagination {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 6px; /* Spacing between buttons */
  flex-wrap: wrap;
}

/* Core style for links, active state, and gaps */
.pagination a,
.pagination .active,
.pagination .gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  color: var(--pager-text);
  background-color: var(--pager-bg);
  border: 1px solid var(--pager-border);
  border-radius: var(--pager-radius);
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
}

/* Hover & Interactive State */
.pagination a:hover:not(.disabled) {
  background-color: var(--pager-hover-bg);
  border-color: #cccccc;
  color: #000000;
}

/* Current / Active Page State */
.pagination .active {
  background-color: var(--pager-active-bg);
  border-color: var(--pager-active-bg);
  color: var(--pager-active-text);
  cursor: default;
  pointer-events: none; /* Prevents clicking the current page */
}

/* Truncation Dots (...) Style */
.pagination .gap {
  border: none;
  background: transparent;
  cursor: default;
  color: var(--pager-disabled-text);
}

/* Disabled State (e.g., Prev on page 1) */
.pagination .disabled {
  color: var(--pager-disabled-text);
  background-color: #fafafa;
  border-color: var(--pager-border);
  cursor: not-allowed;
  pointer-events: none;
}

/* Aesthetic bonus: target text-based control buttons uniquely */
.pagination .prev,
.pagination .next {
  font-weight: 600;
}
.cb-store-page{
    padding:40px 0;
}

/* HERO */
.cb-store-hero{
    background:#fff;
    border-radius:20px;
    padding:35px;
    box-shadow:0 4px 20px rgba(0,0,0,.06);
    margin-bottom:25px;
}

.cb-store-profile{
    display:block;
    text-align:center;
}

.cb-store-logo{
    margin-bottom:20px;
}

.cb-store-logo img{
    width:180px;
    height:180px;
    border-radius:20px;
    object-fit:cover;
    border:1px solid #eee;
}

.cb-open-status{
    display:inline-block;
    background:#e8f7ed;
    color:#1a7f37;
    padding:8px 18px;
    border-radius:40px;
    margin-bottom:15px;
    font-size:14px;
}

.cb-store-content h1{
    margin-bottom:10px;
}

.cb-store-location{
    color:#666;
    margin-bottom:20px;
}

.cb-store-description{
    color:#555;
    line-height:1.8;
    max-width:800px;
    margin:0 auto;
}

.cb-action-buttons{
    margin-top:25px;
}

.cb-action-buttons .button{
    margin:8px;
}

/* CARD */
.cb-card{
    background:#fff;
    border-radius:20px;
    padding:35px;
    margin-bottom:25px;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
}

.cb-card h2{
    margin-bottom:20px;
}

/* BUSINESS INFO */
.cb-highlight-box{
    background:#fafafa;
    border-radius:14px;
    padding:20px;
    margin-bottom:15px;
    border:1px solid #eee;
}

.cb-highlight-box strong{
    display:block;
    margin-bottom:6px;
    font-size:15px;
}

/* CATEGORY TAG */
.cb-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.cb-tag{
    background:#f4f4f4;
    border-radius:40px;
    padding:10px 18px;
    text-decoration:none;
    color:#333;
    border:1px solid #ececec;
}

/* HOURS */
.cb-hours-row{
    padding:18px 0;
    border-bottom:1px solid #eee;
}

.cb-hours-row span{
    display:block;
    margin-bottom:5px;
    font-weight:600;
}

.cb-hours-row strong{
    color:#444;
}

/* CONTACT */
.cb-contact-section{
    text-align:center;
    background:#fff;
    border-radius:20px;
    padding:40px 20px;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
}

.cb-category-header{
    background:#fff;
    border-radius:18px;
    padding:30px;
    margin:25px 0;
    text-align:center;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
}

.cb-category-header h1{
    margin:0 0 8px;
    font-size:34px;
    font-weight:700;
}

.cb-category-header p{
    margin:0;
    color:#666;
    font-size:15px;
}
/* Product Page Wrapper */
.cb-single-product-wrapper{
    padding:40px 0;
}

/* Breadcrumb */
.cb-breadcrumb{
    margin-bottom:25px;
    font-size:14px;
    color:#777;
}

/* Main Product Layout */
.cb-single-product{
    display:flex;
    gap:50px;
    align-items:flex-start;
}

/* Product Image */
.cb-product-gallery{
    width:45% !important;
    position:sticky;
    top:20px;
}
.cb-main-image{
    transform:scale(1);
}

.cb-no-image{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:400px;
    background:#f5f5f5;
    border-radius:16px;
    color:#888;
    font-size:18px;
}

/* Product Info */
.cb-product-info{
    width:55%;
}

.cb-product-details-title{
    font-size:34px;
    line-height:1.3;
    margin-bottom:20px;
    font-weight:700;
}

/* Price */
.cb-price-wrap{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:25px;
}

.cb-old-price{
    font-size:18px;
    text-decoration:line-through;
    color:#999;
}

.cb-sale-price{
    font-size:34px;
    font-weight:700;
    color:#111;
}

/* Product Meta */
.cb-product-meta{
    background:#fafafa;
    border:1px solid #eee;
    border-radius:12px;
    padding:20px;
    margin-bottom:25px;
}

.cb-product-meta p{
    margin:0 0 12px;
    font-size:15px;
}

.cb-product-meta p:last-child{
    margin-bottom:0;
}

/* Short Description */
.cb-short-description{
    margin-bottom:30px;
    font-size:16px;
    line-height:1.8;
    color:#555;
}

/* Variants */
.cb-product-variants{
    margin-bottom:30px;
}

.cb-product-variants h3{
    margin-bottom:15px;
    font-size:20px;
}

.cb-variant-group{
    margin-bottom:20px;
}

.cb-variant-items{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
}

.cb-variant-item{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:60px;
    padding:12px 18px;
    border:2px solid #ddd;
    border-radius:10px;
    text-decoration:none;
    font-size:15px;
    color:#111;
    transition:all .3s ease;
    background:#fff;
}

.cb-variant-item:hover{
    border-color:#111;
    transform:translateY(-2px);
}

.cb-variant-item.active{
    border-color:#111;
    font-weight:600;
}

/* Quantity */
.cb-qty-wrap{
    margin-bottom:25px;
}

.cb-qty-wrap label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
}

#cb-product-qty{
    width:120px;
    height:48px;
    border:1px solid #ddd;
    border-radius:10px;
    padding:10px;
    font-size:16px;
}

/* Buttons */
.cb-product-buttons{
    display:flex;
    gap:15px;
    margin-bottom:35px;
}

.cb-add-cart,
.cb-buy-now{
    min-width:180px;
    padding:16px 30px !important;
    font-size:16px;
    border-radius:10px;
    transition:all .3s ease;
}

.cb-add-cart:hover,
.cb-buy-now:hover{
    transform:translateY(-2px);
}

/* Description */
.cb-description{
    margin-top:40px;
    padding-top:30px;
    border-top:1px solid #eee;
}

.cb-description h3{
    margin-bottom:15px;
    font-size:24px;
}

.cb-description p{
    line-height:1.9;
    color:#555;
}

/* Product Details Table */
.cb-attributes{
    margin-top:40px;
}

.cb-attributes h3{
    margin-bottom:20px;
    font-size:24px;
}

.cb-attributes table{
    width:100%;
    border-collapse:collapse;
    border:1px solid #eee;
}

.cb-attributes tr:nth-child(even){
    background:#fafafa;
}

.cb-attributes td{
    padding:16px;
    border-bottom:1px solid #eee;
}

.cb-attributes td:first-child{
    width:35%;
    font-weight:600;
}

/* Bottom Actions */
.cb-product-actions{
    margin-top:35px;
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

/* Error Notice */
.cb-error-notice{
    text-align:center;
    padding:80px 20px;
}

.cb-error-notice h2{
    margin-bottom:20px;
}

/* Responsive */
@media(max-width:991px){

    .cb-single-product{
        flex-direction:column;
        gap:30px;
    }

    .cb-product-gallery,
    .cb-product-info{
        width:100%;
    }

    .cb-product-gallery{
        position:relative;
        top:0;
    }

    .cb-product-details-title{
        font-size:28px;
    }

    .cb-sale-price{
        font-size:28px;
    }

}

@media(max-width:767px){

    .cb-single-product-wrapper{
        padding:20px 0;
    }

    .cb-product-details-title{
        font-size:24px;
    }

    .cb-price-wrap{
        flex-wrap:wrap;
    }

    .cb-product-buttons{
        flex-direction:column;
    }

    .cb-add-cart,
    .cb-buy-now{
        width:100%;
    }

    .cb-attributes td{
        display:block;
        width:100%;
    }

}
 /* Like Button Styling */
.cb-like-product {
    transition: 0.3s ease;
}

/* Liked */
.cb-like-product.liked {
    background: #ff4d6d;
    color: #fff;
    border-color: #ff4d6d;
}

/* Unliked */
.cb-like-product.unliked {
    background: #f1f1f1;
    color: #333;
    border-color: #ddd;
}

/* PRODUCT SECTION */

.cb-single-product{
    display:flex;
    gap:50px;
    align-items:flex-start;
    flex-wrap:wrap;
}

/* GALLERY */

.cb-product-gallery{
   
    display:flex;
    gap:15px;
}

/* THUMBNAILS */

.cb-thumb-slider{
    width:90px;
    height:650px;
}

.cb-thumb-slider .swiper-slide{
    width:80px !important;
    height:90px !important;
    border:2px solid #eee;
    border-radius:12px;
    overflow:hidden;
    cursor:pointer;
    background:#fff;
}

.cb-thumb-slider img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* MAIN */

.cb-main-slider{
    flex:1;
    height:650px;
    border:1px solid #eee;
    border-radius:18px;
    background:#fff;
}

.cb-main-slider
.swiper-slide{
    display:flex;
    align-items:center;
    justify-content:center;
}

.cb-main-image{
    width:100%;
    max-height:600px;
    object-fit:contain;
    transition:.3s;
}

.cb-main-slider{
    overflow:hidden;
}

.cb-main-image{
    width:100%;
    max-height:600px;
    object-fit:contain;
    transform:scale(1);
    transition:transform .15s ease;
    cursor:zoom-in;
}

/* PRODUCT INFO */

.cb-product-info{
    width:48%;
}

/* MOBILE */

@media(max-width:991px){

    .cb-single-product{
        flex-direction:column;
    }

    .cb-product-gallery,
    .cb-product-info{
        width:100%;
    }

    .cb-product-gallery{
        flex-direction:column-reverse;
    }

    .cb-thumb-slider{
        width:100%;
        height:auto;
    }

}

/* ==================================
   CITYBAZAAR STORE PAGE - ASTRA UI
================================== */

.cb-store-page{
    padding:40px 0;
}

/* HERO SECTION */

.cb-store-hero{
    background:#fff;
    border:1px solid #eaeaea;
    border-radius:12px;
    padding:30px;
    margin-bottom:30px;
}

.cb-store-profile{
    display:flex;
    gap:30px;
    align-items:flex-start;
}

.cb-store-logo{
    flex-shrink:0;
}

.cb-store-logo img{
    width:180px;
    height:180px;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #e5e5e5;
}

.cb-store-content{
    flex:1;
}

.cb-store-content h1{
    margin:0 0 10px;
    font-size:32px;
    line-height:1.3;
}

.cb-open-status{
    display:inline-block;
    background:#eefbf2;
    color:#1e8e3e;
    padding:6px 14px;
    border-radius:30px;
    font-size:14px;
    margin-bottom:12px;
    font-weight:600;
}

.cb-store-location{
    color:#666;
    margin-bottom:15px;
}

.cb-store-description{
    color:#555;
    line-height:1.8;
    margin-bottom:20px;
}

/* BUTTONS */

.cb-action-buttons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

/* Use Astra button style */

.cb-action-buttons .button,
.cb-contact-section .button{
    border-radius:6px;
    text-decoration:none;
}

/* CARDS */

.cb-card{
    background:#fff;
    border:1px solid #eaeaea;
    border-radius:12px;
    padding:25px;
    margin-bottom:25px;
}

.cb-card h2{
    margin-top:0;
    margin-bottom:20px;
    font-size:24px;
}

/* HIGHLIGHTS */

.cb-highlights{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.cb-highlight-box{
    background:#fafafa;
    border:1px solid #eee;
    border-radius:10px;
    padding:16px;
}

.cb-highlight-box strong{
    display:block;
    margin-bottom:5px;
}

/* CATEGORY TAGS */

.cb-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.cb-tag{
    background:#f5f5f5;
    border:1px solid #ddd;
    padding:8px 14px;
    border-radius:30px;
    text-decoration:none;
    color:inherit;
    transition:.2s ease;
}

.cb-tag:hover{
    background:#f0f0f0;
}

/* HOURS */

.cb-hours-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid #eee;
}

.cb-hours-row:last-child{
    border-bottom:none;
}

/* CONTACT */

.cb-contact-section{
    background:#fff;
    border:1px solid #eaeaea;
    border-radius:12px;
    padding:30px;
    text-align:center;
    margin-bottom:40px;
}

.cb-contact-section h2{
    margin-bottom:10px;
}

.cb-contact-section p{
    margin-bottom:20px;
    color:#666;
}

/* MOBILE */

@media(max-width:768px){

    .cb-store-page{
        padding:20px 0;
    }

    .cb-store-profile{
        flex-direction:column;
        text-align:center;
    }

    .cb-store-logo img{
        width:140px;
        height:140px;
    }

    .cb-store-content h1{
        font-size:26px;
    }

    .cb-action-buttons{
        justify-content:center;
    }

    .cb-hours-row{
        flex-direction:column;
        align-items:flex-start;
        gap:5px;
    }
}

.cb-store-page{
    padding:40px 0;
}

.cb-store-header,
.cb-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:30px;
    margin-bottom:25px;
}

.cb-store-grid{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:30px;
    align-items:start;
}

.cb-store-image img{
    width:100%;
    border-radius:12px;
}

.cb-status{
    background:#e7f7eb;
    color:#15803d;
    padding:6px 14px;
    border-radius:20px;
    font-size:14px;
    display:inline-block;
    margin-bottom:15px;
}

.cb-store-info h1{
    margin-bottom:10px;
}

.cb-location{
    color:#666;
    margin-bottom:15px;
}

.cb-desc{
    line-height:1.8;
    color:#555;
}

.cb-buttons{
    display:flex;
    gap:10px;
    margin-top:20px;
    flex-wrap:wrap;
}

.cb-list{
    margin:0;
    padding:0;
    list-style:none;
}

.cb-list li{
    padding:14px 0;
    border-bottom:1px solid #eee;
}

.cb-list li:last-child{
    border-bottom:none;
}

.cb-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.cb-tag{
    background:#f5f5f5;
    padding:8px 14px;
    border-radius:40px;
}

.cb-hour-row{
    display:flex;
    justify-content:space-between;
    padding:14px 0;
    border-bottom:1px solid #eee;
}

.cb-hour-row:last-child{
    border-bottom:none;
}

@media(max-width:768px){

    .cb-store-grid{
        grid-template-columns:1fr;
    }

    .cb-buttons{
        flex-direction:column;
    }

    .cb-hour-row{
        flex-direction:column;
        gap:5px;
    }
}

/* login css */
```css
.cb-login-page {
    display: flex;
    justify-content: center;
    padding: 50px 20px;
}

.cb-login-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow:
        0 4px 20px
        rgba(0,0,0,.08);
}

.cb-login-header {
    text-align: center;
    margin-bottom: 25px;
}

.cb-login-header h2 {
    margin-bottom: 8px;
}

.cb-login-header p {
    margin: 0;
    opacity: .7;
}

.cb-form-group {
    margin-bottom: 18px;
}

.cb-form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
}

.cb-input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #ddd;
    min-height: 46px;
}

.cb-input:focus {
    outline: none;
}

.cb-terms-wrap {
    margin-bottom: 20px;
}

.cb-checkbox-label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 14px;
}

.cb-btn-primary {
    width: 100%;
    min-height: 46px;
}

/* .cb-btn-secondary {
    width: 100%;
    background: transparent;
    border: 1px solid #ddd;
    min-height: 46px;
} */

.cb-divider {
    text-align: center;
    margin: 16px 0;
    position: relative;
}

.cb-divider span {
    background: #fff;
    padding: 0 12px;
    position: relative;
    z-index: 2;
}

.cb-divider:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ddd;
}

.cb-link-btn {
    border: 0;
    /* background: transparent; */
    width: 100%;
    margin-top: 14px;
    cursor: pointer;
}

.cb-hidden {
    display: none;
}

@media(max-width:768px){

    .cb-login-card{
        padding:20px;
    }

}
 /* end login css */
.cb-store-wrapper,
.cb-store-page {
    width: 100%;
    min-height: 70vh;
}

.cb-store-grid {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
```css
/* ==========================
   CART PAGE (Woo-style)
========================== */

body.cb-flow-cart .entry-header,
body.cb-flow-cart h1.entry-title,
body.cb-flow-checkout .entry-header,
body.cb-flow-checkout h1.entry-title,
body.cb-flow-payment .entry-header,
body.cb-flow-payment h1.entry-title,
body:has(.cb-cart-page) .entry-header,
body:has(.cb-cart-page) h1.entry-title,
body:has(.cb-checkout-page) .entry-header,
body:has(.cb-checkout-page) h1.entry-title,
body:has(.cb-payment-success) .entry-header,
body:has(.cb-payment-success) h1.entry-title,
.ast-page-title-override:has(+ * .cb-cart-page),
.ast-page-title-override:has(+ * .cb-checkout-page) {
	display: none !important;
}

.cb-checkout-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	font-size: 13px;
	color: var(--cb-cart-muted, #6b7280);
}

.cb-checkout-steps li {
	margin: 0;
	padding: 0;
}

.cb-checkout-steps a,
.cb-checkout-steps span {
	color: inherit;
	text-decoration: none !important;
	font-weight: 600;
}

.cb-checkout-steps a:hover {
	color: var(--cb-primary, #1f4b7a) !important;
}

.cb-checkout-steps .is-done a {
	color: var(--cb-primary, #1f4b7a) !important;
}

.cb-checkout-steps .is-active span {
	color: var(--cb-cart-ink, #1a1a1a);
	font-weight: 700;
}

.cb-checkout-steps .cb-step-upcoming {
	opacity: 0.55;
	font-weight: 500;
}

.cb-checkout-steps .cb-step-sep {
	opacity: 0.4;
	font-weight: 400;
}

.cb-cart-page {
	max-width: 1180px;
	margin: 8px auto 48px;
	padding: 0 16px;
	box-sizing: border-box;
	--cb-cart-ink: #1a1a1a;
	--cb-cart-muted: #6b7280;
	--cb-cart-line: #e8e4de;
	--cb-cart-wash: #f7f5f2;
}

.cb-cart-eyebrow,
.cb-checkout-header .cb-cart-eyebrow {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cb-primary, #1f4b7a);
}

.cb-cart-title,
.cb-checkout-header h1,
.cb-checkout-title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--cb-cart-ink);
}

.cb-cart-sub {
	margin: 8px 0 0;
	font-size: 14px;
	color: var(--cb-cart-muted);
}

.cb-cart-header,
.cb-checkout-header {
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--cb-cart-line);
}

.cb-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 32px;
	align-items: start;
}

.cb-cart-store {
	background: #fff;
	border: 1px solid var(--cb-cart-line);
	border-radius: 8px;
	margin-bottom: 20px;
	overflow: hidden;
}

.cb-store-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 18px 24px;
	border-bottom: 1px solid var(--cb-cart-line);
	background: var(--cb-cart-wash);
}

.cb-store-header h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--cb-cart-ink);
}

.cb-store-meta {
	display: inline-block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--cb-cart-muted);
}

.cb-cart-table-wrap {
	overflow-x: auto;
	padding: 0 8px;
}

.cb-cart-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

.cb-cart-table th {
	padding: 14px 16px;
	border-bottom: 1px solid var(--cb-cart-line);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cb-cart-muted);
	text-align: left;
	background: #fff;
}

.cb-cart-table td {
	padding: 20px 16px;
	border-bottom: 1px solid var(--cb-cart-line);
	vertical-align: middle;
	font-size: 14px;
	color: var(--cb-cart-ink);
}

.cb-cart-table .product-remove {
	width: 52px;
	padding-left: 16px;
	padding-right: 8px;
}

.cb-cart-table .product-thumbnail {
	width: 96px;
	padding-left: 8px;
	padding-right: 12px;
}

.cb-cart-table .product-name {
	padding-left: 12px;
	padding-right: 20px;
	min-width: 180px;
}

.cb-cart-table .product-price,
.cb-cart-table .product-quantity,
.cb-cart-table .product-subtotal {
	padding-left: 16px;
	padding-right: 16px;
	white-space: nowrap;
}

.cb-cart-table .product-price,
.cb-cart-table .product-subtotal {
	font-weight: 600;
}

.cb-cart-table .product-subtotal {
	padding-right: 20px;
}

.cb-cart-table .product-name a {
	color: var(--cb-cart-ink) !important;
	text-decoration: none !important;
	font-weight: 600;
	line-height: 1.45;
	display: inline-block;
	padding: 2px 0;
}

.cb-cart-table .product-name a:hover {
	color: var(--cb-primary, #1f4b7a) !important;
}

.cb-cart-image {
	display: block;
	width: 72px;
	height: 72px;
	border: 1px solid var(--cb-cart-line);
	border-radius: 6px;
	overflow: hidden;
	background: var(--cb-cart-wash);
}

.cb-cart-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cb-cart-image-placeholder {
	display: block;
	width: 72px;
	height: 72px;
	background: linear-gradient(135deg, #eee 25%, #f7f5f2 50%, #eee 75%);
	border-radius: 6px;
}

.cb-cart-qty {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	gap: 6px;
}

.cb-cart-qty button,
.cb-cart-page .cb-cart-qty button,
.cb-checkout-page .cb-cart-qty button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px;
	height: 36px;
	padding: 0 !important;
	margin: 0;
	border: 1px solid var(--cb-cart-line);
	border-radius: 6px;
	background: #fff;
	color: var(--cb-cart-ink);
	font-size: 18px;
	font-weight: 500;
	line-height: 1 !important;
	letter-spacing: 0;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.cb-cart-qty button:hover {
	background: var(--cb-cart-wash);
}

.cb-cart-qty input,
.cb-cart-qty span,
.cb-cart-page .cb-cart-qty input,
.cb-cart-page .cb-cart-qty span,
.cb-checkout-page .cb-cart-qty span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 36px;
	padding: 0 !important;
	margin: 0;
	text-align: center;
	border: 1px solid var(--cb-cart-line);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1 !important;
	background: #fff;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	vertical-align: middle;
}

.cb-remove-cart,
.cb-cart-page .cb-remove-cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px;
	height: 32px;
	padding: 0 !important;
	margin: 0;
	border: 1px solid var(--cb-cart-line);
	border-radius: 999px;
	background: #fff;
	color: #9b1c1c;
	font-size: 18px;
	font-weight: 400;
	line-height: 1 !important;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.cb-remove-cart:hover {
	background: #fef2f2;
	border-color: #f5c2c2;
}

.cb-store-total {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
	padding: 18px 24px;
	margin: 0;
	font-size: 14px;
	color: var(--cb-cart-muted);
	background: #fff;
	border-top: 1px solid var(--cb-cart-line);
	box-sizing: border-box;
}

.cb-store-total strong {
	font-size: 16px;
	color: var(--cb-cart-ink);
	min-width: 5.5em;
	text-align: right;
}

.cb-cart-actions {
	margin-top: 16px;
	padding: 4px 4px 0;
}

.cb-cart-continue {
	color: var(--cb-primary, #1f4b7a) !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 600;
}

.cb-cart-totals {
	position: sticky;
	top: 96px;
	background: #fff;
	border: 1px solid var(--cb-cart-line);
	border-radius: 8px;
	padding: 28px 24px;
	box-sizing: border-box;
}

.cb-cart-totals h2 {
	margin: 0 0 20px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--cb-cart-line);
	font-size: 18px;
	font-weight: 700;
	color: var(--cb-cart-ink);
	line-height: 1.3;
}

/* Replace theme table borders — flex rows with real padding */
.cb-cart-totals table {
	display: none !important;
}

.cb-cart-totals-rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.cb-cart-totals-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 4px;
	border-bottom: 1px solid var(--cb-cart-line);
	box-sizing: border-box;
}

.cb-cart-totals-row--total {
	border-bottom: 0;
	padding-top: 18px;
	padding-bottom: 6px;
}

.cb-cart-totals-label {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--cb-cart-muted);
	line-height: 1.4;
	padding-right: 12px;
}

.cb-cart-totals-row--total .cb-cart-totals-label {
	font-size: 16px;
	font-weight: 700;
	color: var(--cb-cart-ink);
}

.cb-cart-totals-value {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--cb-cart-ink);
	line-height: 1.4;
	white-space: nowrap;
	text-align: right;
	padding-left: 12px;
}

.cb-cart-totals-row--total .cb-cart-totals-value {
	font-size: 17px;
	font-weight: 700;
}

.cb-cart-page .cb-cart-totals th,
.cb-cart-page .cb-cart-totals td {
	padding: 14px 12px !important;
	border-bottom: 1px solid var(--cb-cart-line);
	font-size: 14px;
	vertical-align: middle;
	box-sizing: border-box;
}

.cb-cart-page .cb-cart-totals th {
	text-align: left;
	padding-left: 12px !important;
	padding-right: 16px !important;
	font-weight: 500;
	color: var(--cb-cart-muted);
	width: 45%;
}

.cb-cart-page .cb-cart-totals td {
	text-align: right;
	padding-right: 12px !important;
	padding-left: 16px !important;
	font-weight: 600;
	color: var(--cb-cart-ink);
	white-space: nowrap;
}

.cb-cart-page .cb-cart-table th,
.cb-cart-page .cb-cart-table td {
	padding: 20px 16px !important;
}

.cb-cart-page .cb-cart-table th {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}

.cb-cart-page .cb-cart-table .product-remove {
	padding-left: 16px !important;
	padding-right: 8px !important;
}

.cb-cart-page .cb-cart-table .product-name {
	padding-left: 12px !important;
	padding-right: 20px !important;
}

.cb-cart-page .cb-cart-table .product-subtotal {
	padding-right: 20px !important;
}

.cb-cart-page .cb-store-total {
	padding: 18px 24px !important;
}

.cb-cart-totals tr.order-total th,
.cb-cart-totals tr.order-total td {
	border-bottom: 0;
	padding-top: 18px;
	padding-bottom: 4px;
	font-size: 16px;
	font-weight: 700;
	color: var(--cb-cart-ink);
}

.cb-checkout-btn,
.cb-cart-page .cb-button,
.cb-checkout-page .cb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 12px 20px;
	margin-top: 4px;
	border: 0;
	border-radius: 6px;
	background: var(--cb-primary, #1f4b7a);
	color: #fff !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	box-sizing: border-box;
}

.cb-checkout-btn:hover,
.cb-cart-page .cb-button:hover,
.cb-checkout-page .cb-button:hover {
	filter: brightness(0.94);
}

.cb-empty-cart {
	text-align: center;
	padding: 72px 20px;
	border: 1px dashed var(--cb-cart-line);
	border-radius: 8px;
	background: #fff;
}

.cb-empty-cart h3 {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 500;
}

.cb-empty-cart p {
	margin: 0 0 22px;
	color: var(--cb-cart-muted);
}

.cb-empty-cart .cb-button {
	width: auto;
	min-width: 200px;
}

.cb-loading {
	opacity: 0.5;
	pointer-events: none;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (max-width: 900px) {
	.cb-cart-layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.cb-cart-totals {
		position: static;
		padding: 22px 20px;
	}
}

@media (max-width: 720px) {
	.cb-cart-table-wrap {
		padding: 0;
	}

	.cb-cart-table thead {
		display: none;
	}

	.cb-cart-table,
	.cb-cart-table tbody,
	.cb-cart-table tr,
	.cb-cart-table td {
		display: block;
		width: 100%;
	}

	.cb-cart-table tr.cb-cart-item {
		position: relative;
		padding: 20px 16px 20px 100px;
		border-bottom: 1px solid var(--cb-cart-line);
		box-sizing: border-box;
	}

	.cb-cart-table td {
		border: 0;
		padding: 8px 0 !important;
	}

	.cb-cart-table .product-remove {
		position: absolute;
		top: 16px;
		right: 14px;
		width: auto;
		padding: 0 !important;
	}

	.cb-cart-table .product-thumbnail {
		position: absolute;
		top: 20px;
		left: 16px;
		width: auto;
		padding: 0 !important;
	}

	.cb-cart-table .product-name,
	.cb-cart-table .product-price,
	.cb-cart-table .product-quantity,
	.cb-cart-table .product-subtotal {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 16px;
		padding: 8px 0 !important;
		min-width: 0;
		white-space: normal;
	}

	.cb-cart-table .product-name {
		padding-right: 36px !important;
	}

	.cb-cart-table .product-price::before,
	.cb-cart-table .product-quantity::before,
	.cb-cart-table .product-subtotal::before {
		content: attr(data-title);
		color: var(--cb-cart-muted);
		font-weight: 600;
		flex-shrink: 0;
	}

	.cb-store-header,
	.cb-store-total {
		padding: 16px 18px;
	}
}
/* product filtering and search styles */

.cb-shop-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin: 30px 0;
}

.cb-shop-sidebar {
    width: 280px;
    flex-shrink: 0;
}

.cb-shop-content {
    flex: 1;
    min-width: 0;
}

.cb-filter-wrap {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    position: sticky;
    top: 20px;
}

.cb-filter-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cb-filter-box {
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.cb-filter-box:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.cb-filter-box h4 {
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 600;
}

.cb-filter-box label {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 8px;
    font-size: 14px;
    cursor: pointer;
}

.cb-filter-box input[type="checkbox"],
.cb-filter-box input[type="radio"] {
    margin-right: 8px;
}

.cb-filter-box input[type="number"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    margin-bottom: 12px;
}

.cb-filter-actions {
    display: flex;
    gap: 10px;
}

.cb-filter-actions .button {
    flex: 1;
    text-align: center;
}

.citybazaar-shop-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 15px;
}

.cb-filter-toggle {
    display: none;
    background: var(--cb-primary);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 10px 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.cb-filter-toggle:hover {
    background: #004c99;
}

.cb-search-form {
    display: flex;
    gap: 10px;
    align-items: center;
}

.cb-search-form input[type="search"] {
    min-width: 280px;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
}

.cb-search-form button {
    padding: 12px 18px;
}

.cb-category-header h1 {
    margin: 0;
    font-size: 30px;
}

.cb-category-header p {
    margin: 6px 0 0;
    color: #666;
}

/* .citybazaar-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
} */

.cb-product {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    transition: .3s;
}

.cb-product:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.cb-product-image img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

.cb-product-content {
    padding: 16px;
}
/* 
.cb-product-title {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    margin-bottom: 10px;
}

.cb-meta {
    font-size: 14px;
    color: #666;
    margin-bottom: 5px;
} */

.cb-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.cb-page-link {
    padding: 10px 14px;
    border-radius: 8px;
    background: #f3f4f6;
    text-decoration: none;
}

.cb-page-link.current {
    background: #111827;
    color: #fff;
}

@media (max-width: 992px) {
    .cb-shop-layout {
        flex-direction: column;
    }

    .cb-shop-sidebar {
        width: 100%;
    }

    .cb-filter-wrap {
        position: static;
    }

    .citybazaar-shop-top {
        flex-direction: column;
        align-items: stretch;
    }

    .cb-search-form {
        width: 100%;
    }

    .cb-search-form input[type="search"] {
        min-width: 100%;
    }
}

@media (max-width: 768px) {
    .citybazaar-products {
        grid-template-columns: 1fr;
    }

    .cb-product {
        padding: 14px;
    }

    .citybazaar-theme-catalog .cb-product {
        flex-direction: column;
        align-items: stretch;
    }

    .cb-product-image img {
        height: auto;
    }

    .cb-product-content {
        padding: 12px 0 0;
    }

    .cb-product-actions {
        flex-direction: column;
        gap: 10px;
    }

    .cb-search-form {
        flex-direction: column;
        align-items: stretch;
    }

    .cb-search-form input[type="search"],
    .cb-search-form button {
        width: 100%;
    }

    .cb-price-inputs {
        flex-direction: column;
    }

    .cb-price-input {
        width: 100%;
    }
}

.cb-price-range-wrap {
    margin-top: 15px;
}



.cb-price-between {
    color: #666;
    font-weight: 500;
}
.cb-range-slider-wrap {
    position: relative;
    height: 40px;
    margin-top: 15px;
}

.cb-range-slider {
    width: 100%;
    position: absolute;
    left: 0;
    top: 10px;
    pointer-events: none;
    appearance: none;
    background: none;
}

.cb-range-slider::-webkit-slider-thumb {
    pointer-events: auto;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ff6b00;
    cursor: pointer;
    border: none;
}

.cb-range-slider::-webkit-slider-runnable-track {
    height: 4px;
    background: #ddd;
    border-radius: 50px;
}

.cb-price-inputs {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.cb-price-input {
    width: 100%;
    height: 42px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    padding: 10px;
}

.cb-price-between {
    font-weight: 600;
    color: #555;
}

.cb-range-slider-wrap{
    position:relative;
    height:40px;
    margin-top:15px;
}

.cb-range-slider{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    pointer-events:none;
    appearance:none;
    background:none;
}

.cb-range-slider::-webkit-slider-thumb{
    pointer-events:auto;
    appearance:none;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#ff6600;
    cursor:pointer;
    border:none;
}

.cb-range-slider::-webkit-slider-runnable-track{
    height:4px;
    background:#ddd;
    border-radius:10px;
}

.cb-price-inputs{
    display:flex;
    align-items:center;
    gap:12px;
}

.cb-price-input{
    width:100px;
    height:42px;
    border:1px solid #ddd;
    border-radius:8px;
    text-align:center;
}

.cb-active-filters{
    margin-bottom:20px;
}

.cb-filter-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:15px;
}

.cb-filter-top h4{
    margin:0;
    font-size:20px;
}

#cb-clear-all{
    border:0;
    background:#f3f4f6;
    color:#374151;
    padding:6px 12px;
    border-radius:999px;
    cursor:pointer;
    font-size:12px;
    font-weight:600;
}

#cb-selected-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.cb-filter-chip{
    display:flex;
    align-items:center;
    gap:8px;
    background:#f3f4f6;
    border-radius:30px;
    padding:8px 14px;
    font-size:14px;
}

.cb-filter-chip button{
    border:0;
    background:none;
    cursor:pointer;
    font-size:18px;
    line-height:1;
    color:#888;
}

.cb-selected-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.cb-filter-chip{
    background:#f3f3f3;
    border-radius:30px;
    padding:8px 12px;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
}

.cb-filter-chip button{
    border:none;
    background:none;
    cursor:pointer;
    font-size:16px;
}

.cb-products-loader{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    backdrop-filter: blur(2px);
}

.cb-products-loader.active{
    display:flex;
}

.cb-loader-spinner{
    width:50px;
    height:50px;
    border:4px solid #ddd;
    border-top-color:#000;
    border-radius:50%;
    animation: cbSpin .7s linear infinite;
}

@keyframes cbSpin{
    to{
        transform: rotate(360deg);
    }
}


.cb-btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    background:#5f6368 !important;
    color:#fff !important;
    border:1px solid #5f6368 !important;
    border-radius:8px;
    text-decoration:none !important;
    cursor:pointer;
    transition:all .3s ease;
}

.cb-btn-secondary:hover{
    background:#4b4f54 !important;
    border-color:#4b4f54 !important;
    transform:translateY(-1px);
}

.cb-btn-secondary:focus{
    outline:none;
    box-shadow:0 0 0 3px rgba(95,99,104,.2);
}

/* 1. Parent Wrapper ko vertical layout me force karein */
.my-custom-page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}

/* 2. Content area bachi hui saari jagah le lega */
.my-custom-content {
    flex: 1 0 auto;
    width: 100%;
    display: block;
    clear: both;
}

/* 3. Footer ko hamesha bottom me push karein aur float clear karein */
.my-universal-footer {
    flex-shrink: 0;
    width: 100%;
    clear: both !important;
    display: block !important;
}

/* dashobard page css start here  */

body:has(.cb-dashboard) .entry-header,
body:has(.cb-dashboard) h1.entry-title,
body:has(.cb-account-page) .entry-header,
body:has(.cb-account-page) h1.entry-title {
	display: none !important;
}

.cb-account-page {
	max-width: 1180px;
	margin: 0 auto 48px;
	padding: 8px 16px 0;
	box-sizing: border-box;
}

.cb-account-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.cb-account-sidebar {
	position: sticky;
	top: 96px;
}

.cb-account-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid #e8e4de;
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

.cb-account-nav li {
	border-bottom: 1px solid #e8e4de;
}

.cb-account-nav li:last-child {
	border-bottom: 0;
}

.cb-account-nav a {
	display: block;
	padding: 13px 16px;
	color: #1a1a1a !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 600;
	background: #fff;
	transition: 0.15s ease;
}

.cb-account-nav li.is-active a,
.cb-account-nav a:hover {
	background: #f7f5f2;
	color: var(--cb-primary, #1f4b7a) !important;
}

.cb-account-nav li.is-active a {
	border-left: 3px solid var(--cb-primary, #1f4b7a);
	padding-left: 13px;
}

.cb-dashboard {
	--cb-dash-ink: #1a1a1a;
	--cb-dash-muted: #6b7280;
	--cb-dash-line: #e8e4de;
	--cb-dash-wash: #f7f5f2;
	max-width: 100%;
	margin: 0;
}

.cb-dashboard-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--cb-dash-line);
}

.cb-dashboard-eyebrow {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cb-primary, #1f4b7a);
}

.cb-dashboard-header h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--cb-dash-ink);
	line-height: 1.2;
}

.cb-dashboard-sub {
	margin: 8px 0 0;
	font-size: 14px;
	color: var(--cb-dash-muted);
	max-width: 48ch;
}

.cb-dashboard .cb-logout-btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--cb-dash-line);
	border-radius: 4px;
	background: #fff;
	color: var(--cb-dash-ink) !important;
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.cb-dashboard .cb-logout-btn:hover {
	background: var(--cb-dash-wash);
}

.cb-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.cb-dashboard .cb-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--cb-dash-line);
	border-radius: 4px;
	padding: 22px 20px;
	box-shadow: none;
	text-decoration: none !important;
	color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.cb-dashboard .cb-card:hover {
	transform: translateY(-3px);
	border-color: #d5cfc6;
	box-shadow: 0 14px 34px rgba(26, 26, 26, 0.08);
}

.cb-card-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cb-dash-muted);
}

.cb-dashboard .cb-count {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1;
	color: var(--cb-dash-ink);
}

.cb-card-link {
	margin-top: auto;
	padding-top: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--cb-primary, #1f4b7a);
}

.cb-dashboard-quick {
	margin-top: 28px;
	padding: 22px 20px;
	border: 1px solid var(--cb-dash-line);
	border-radius: 4px;
	background: #fff;
}

.cb-dashboard-quick h3 {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--cb-dash-ink);
}

.cb-dashboard-quick ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cb-dashboard-quick li + li {
	margin-top: 8px;
}

.cb-dashboard-quick a {
	color: var(--cb-primary, #1f4b7a) !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 600;
}

.cb-dashboard-quick a:hover {
	text-decoration: underline !important;
}

.cb-dashboard-menu {
	display: none;
}

@media (max-width: 900px) {
	.cb-account-layout {
		grid-template-columns: 1fr;
	}

	.cb-account-sidebar {
		position: static;
	}

	.cb-account-nav ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.cb-account-nav li:nth-child(odd) {
		border-right: 1px solid #e8e4de;
	}

	.cb-dashboard-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 560px) {
	.cb-dashboard-header {
		flex-direction: column;
	}

	.cb-dashboard-header h2 {
		font-size: 26px;
	}

	.cb-dashboard-grid,
	.cb-account-nav ul {
		grid-template-columns: 1fr;
	}

	.cb-account-nav li:nth-child(odd) {
		border-right: 0;
	}
}
/* 
dashobard page css end here  */

/* =========================================================
   Premium shop storefront
   ========================================================= */

.cb-shop-page,
.cb-shop-page * {
    box-sizing: border-box;
}

.ast-plain-container.ast-single-post .entry-header:has(+ .entry-content .cb-shop-page),
body:has(.cb-shop-page) .entry-header .entry-title,
body:has(.cb-shop-page) h1.entry-title,
body:has(.cb-shop-page) .ast-page-title-override,
body:has(.cb-shop-page) .page-header,
.cb-shop-page ~ .entry-header {
    display: none !important;
}

body:has(.cb-shop-page) .entry-header {
    display: none !important;
}

.cb-shop-page {
    --cb-shop-ink: #1a1a1a;
    --cb-shop-muted: #6b7280;
    --cb-shop-line: #e8e4de;
    --cb-shop-surface: #ffffff;
    --cb-shop-wash: #f7f5f2;
    --cb-shop-accent: var(--cb-primary, #1f4b7a);
    max-width: 1180px;
    margin: 0 auto 56px;
    padding: 8px 16px 0;
    font-family: Georgia, "Times New Roman", serif;
    color: var(--cb-shop-ink);
}

.cb-shop-page button,
.cb-shop-page input,
.cb-shop-page .cb-product-title,
.cb-shop-page .cb-filter-box label,
.cb-shop-page .cb-filter-chip,
.cb-shop-page .cb-pagination,
.cb-shop-page .cb-price-box,
.cb-shop-page .cb-category {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.cb-shop-page .cb-category-header {
    background: var(--cb-shop-wash);
    border: 1px solid var(--cb-shop-line);
    border-radius: 4px;
    padding: 28px 32px;
    margin: 0 0 28px;
    text-align: left;
    box-shadow: none;
}

.cb-shop-page .cb-category-eyebrow {
    margin: 0 0 8px;
    font-family: system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--cb-shop-accent);
}

.cb-shop-page .cb-category-header h1 {
    margin: 0;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--cb-shop-ink);
}

.cb-shop-page .cb-category-header p:not(.cb-category-eyebrow) {
    margin: 10px 0 0;
    font-family: system-ui, sans-serif;
    font-size: 14px;
    color: var(--cb-shop-muted);
}

.cb-shop-page .cb-shop-layout {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin: 0 !important;
}

.cb-shop-page .cb-shop-sidebar {
    width: auto !important;
}

.cb-shop-page .cb-sidebar-panel {
    background: var(--cb-shop-surface);
    border: 1px solid var(--cb-shop-line);
    border-radius: 4px;
    padding: 18px 18px 8px;
    position: sticky;
    top: 96px;
    max-height: calc(100vh - 120px);
    overflow: auto;
}

.cb-shop-page .cb-filter-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--cb-shop-line);
}

.cb-shop-page .cb-filter-top h4 {
    margin: 0 !important;
    font-family: system-ui, sans-serif;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cb-shop-ink);
}

.cb-shop-page #cb-clear-all {
    border: 1px solid var(--cb-shop-line) !important;
    background: transparent !important;
    color: var(--cb-shop-muted) !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    cursor: pointer;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cb-shop-page #cb-clear-all:hover {
    color: var(--cb-shop-ink) !important;
    border-color: #cfc8be !important;
    background: var(--cb-shop-wash) !important;
}

.cb-shop-page .cb-selected-filters,
.cb-shop-page #cb-selected-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
    min-height: 0;
}

.cb-shop-page .cb-filter-chip {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: var(--cb-shop-wash) !important;
    color: var(--cb-shop-ink) !important;
    border: 1px solid var(--cb-shop-line);
    border-radius: 999px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

.cb-shop-page .cb-filter-chip button {
    border: 0;
    background: none;
    cursor: pointer;
    color: var(--cb-shop-muted);
    font-size: 14px;
    line-height: 1;
    padding: 0;
}

.cb-shop-page .cb-filter-wrap {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
}

.cb-shop-page .cb-filter-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.cb-shop-page .cb-filter-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    border-bottom: 1px solid var(--cb-shop-line) !important;
    padding: 16px 0 !important;
    margin: 0 !important;
}

.cb-shop-page .cb-filter-box:last-child {
    border-bottom: 0 !important;
}

.cb-shop-page .cb-filter-box h4,
.cb-shop-page .cb-filter-box .cb-filter-header h4 {
    margin: 0 0 4px !important;
    font-family: system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--cb-shop-muted) !important;
}

.cb-shop-page .cb-filter-box label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    border-radius: 6px;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--cb-shop-ink) !important;
    line-height: 1.35 !important;
    cursor: pointer;
    white-space: normal !important;
}

.cb-shop-page .cb-filter-box label:hover {
    background: var(--cb-shop-wash);
}

.cb-shop-page .cb-filter-box input[type="checkbox"],
.cb-shop-page .cb-filter-box input[type="radio"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0 10px 0 0 !important;
    accent-color: var(--cb-shop-accent);
}

.cb-shop-page .cb-filter-box br {
    display: none !important;
}

.cb-shop-page .cb-price-range-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cb-shop-page .cb-price-inputs {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: center;
    margin: 0 !important;
}

.cb-shop-page .cb-price-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--cb-shop-line) !important;
    border-radius: 6px !important;
    text-align: center;
    font-size: 13px !important;
    background: #fff;
    margin: 0 !important;
}

.cb-shop-page .cb-price-between {
    font-family: system-ui, sans-serif;
    font-size: 11px;
    color: var(--cb-shop-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cb-shop-page .cb-range-slider-wrap {
    position: relative;
    height: 28px;
}

.cb-shop-page .citybazaar-shop-top {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 20px !important;
    padding: 12px 14px;
    background: var(--cb-shop-surface);
    border: 1px solid var(--cb-shop-line);
    border-radius: 4px;
}

.cb-shop-page .cb-search-form {
    display: block !important;
    width: 100%;
    max-width: 460px;
    margin: 0 0 0 auto !important;
}

.cb-shop-page .cb-search-form label {
    display: none !important;
}

.cb-shop-page .cb-search-field {
    display: flex;
    gap: 8px;
    width: 100%;
}

.cb-shop-page .cb-search-field input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--cb-shop-line);
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
}

.cb-shop-page .cb-search-field input[type="search"]:focus {
    outline: none;
    border-color: var(--cb-shop-accent);
    box-shadow: 0 0 0 3px rgba(31, 75, 122, 0.12);
}

.cb-shop-page .cb-search-field button {
    flex-shrink: 0;
    height: 44px;
    padding: 0 20px;
    border: 0;
    border-radius: 6px;
    background: var(--cb-shop-ink);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
}

.cb-shop-page .cb-search-field button:hover {
    background: #333;
}

.cb-shop-page .cb-filter-toggle {
    display: none;
    align-items: center;
    background: var(--cb-shop-ink);
    color: #fff;
    border: 0;
    border-radius: 6px;
    padding: 10px 14px;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
}

.cb-shop-page .citybazaar-products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin: 0 !important;
}

.cb-shop-page .citybazaar-products .cb-product,
.cb-shop-page article.cb-product {
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--cb-shop-line) !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.cb-shop-page .citybazaar-products .cb-product:hover,
.cb-shop-page article.cb-product:hover {
    transform: translateY(-4px);
    border-color: #d5cfc6 !important;
    box-shadow: 0 16px 40px rgba(26, 26, 26, 0.08) !important;
}

.cb-shop-page .cb-product-image {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    background: #f0eeeb;
    overflow: hidden;
}

.cb-shop-page .cb-product-image a {
    display: block !important;
    height: 100%;
    margin: 0 !important;
}

.cb-shop-page .cb-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block;
    transition: transform 0.45s ease;
}

.cb-shop-page .cb-product:hover .cb-product-image img {
    transform: scale(1.05);
}

.cb-shop-page .cb-product-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 16px 18px !important;
    flex: 1;
}

.cb-shop-page .cb-category {
    margin: 0 !important;
    padding: 3px 8px !important;
    width: fit-content;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--cb-shop-wash) !important;
    color: var(--cb-shop-muted) !important;
    border-radius: 2px !important;
}

.cb-shop-page .cb-product-title {
    min-height: 0 !important;
    margin: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: var(--cb-shop-ink) !important;
    -webkit-line-clamp: 2;
}

.cb-shop-page .cb-product-title:hover {
    color: var(--cb-shop-accent) !important;
}

.cb-shop-page .cb-price-box {
    margin-top: auto !important;
    padding-top: 6px;
    gap: 8px !important;
}

.cb-shop-page .cb-current-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--cb-shop-ink) !important;
}

.cb-shop-page .cb-old-price {
    font-size: 12px !important;
    color: #9ca3af !important;
}

.cb-shop-page .cb-discount {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #16794d !important;
}

.cb-shop-page .cb-pagination {
    margin: 32px 0 0 !important;
    gap: 8px !important;
}

.cb-shop-page .cb-pagination .cb-page-link {
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px !important;
    border: 1px solid var(--cb-shop-line) !important;
    background: #fff !important;
    color: var(--cb-shop-ink) !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 13px;
}

.cb-shop-page .cb-pagination .cb-page-link:hover {
    background: var(--cb-shop-wash) !important;
}

.cb-shop-page .cb-pagination .cb-page-link.current,
.cb-shop-page .cb-pagination .cb-page-link.active {
    background: var(--cb-shop-ink) !important;
    border-color: var(--cb-shop-ink) !important;
    color: #fff !important;
}

@media (max-width: 992px) {
    .cb-shop-page .cb-shop-layout {
        grid-template-columns: 1fr !important;
    }

    .cb-shop-page .cb-sidebar-panel {
        position: static;
        max-height: none;
    }

    .cb-shop-page .citybazaar-products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cb-shop-page .cb-filter-toggle {
        display: inline-flex !important;
    }

    .cb-shop-page .cb-shop-sidebar {
        display: none;
    }

    .cb-shop-page .cb-shop-sidebar.active {
        display: block;
    }

    .cb-shop-page .citybazaar-shop-top {
        flex-wrap: wrap;
    }

    .cb-shop-page .cb-search-form {
        max-width: none;
        margin: 0 !important;
    }
}

@media (max-width: 560px) {
    .cb-shop-page .citybazaar-products {
        grid-template-columns: 1fr !important;
    }

    .cb-shop-page .cb-category-header {
        padding: 20px;
    }

    .cb-shop-page .cb-category-header h1 {
        font-size: 26px;
    }
}