/* ─── Cyber Canvas WooCommerce Styles ─── */

  /* ─── Product Grid ─── */
  .cc-products-grid {
    display: grid;
    grid-template-columns: repeat(var(--cc-grid-cols, 3), 1fr);
    gap: 1.5rem;
  }
  @media (max-width: 768px) {
    .cc-products-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  }
  @media (max-width: 480px) {
    .cc-products-grid { grid-template-columns: 1fr; }
  }

  /* ── Reset WooCommerce default card styles ── */
  .woocommerce ul.products,
  ul.products {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .woocommerce ul.products li.product,
  ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .woocommerce ul.products li.product .button,
  ul.products li.product .button {
    display: none !important;
  }
  .woocommerce ul.products li.product a img {
    margin: 0 !important;
  }

  /* ─── Product Card: Glassmorphism (default) ─── */
  .cc-product-card {
    position: relative;
    border-radius: var(--cc-woo-radius, 3px);
    overflow: hidden;
    background: var(--cc-showcase-card-bg, color-mix(in srgb, var(--color-widget-bg, var(--color-surface)) 86%, transparent));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--cc-showcase-card-border, color-mix(in srgb, var(--color-widget-border, var(--color-border)) 70%, transparent));
    transition: all 400ms var(--ease-smooth, ease);
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    height: 100%;
  }
  [data-theme="dark"] .cc-product-card {
    background: var(--cc-showcase-card-bg, color-mix(in srgb, var(--color-widget-bg, var(--color-surface)) 92%, transparent));
    border-color: var(--cc-showcase-card-border, color-mix(in srgb, var(--color-widget-border, var(--color-border)) 68%, transparent));
  }
  .cc-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  /* Equal-height carousel items */
  .cc-carousel-item {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .cc-showcase-carousel {
    display: flex;
    align-items: stretch;
  }

  /* Equal-height grid items */
  .cc-showcase-grid {
    align-items: stretch;
  }
  .cc-showcase-grid .cc-product-card {
    height: 100%;
  }

  .cc-product-card-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    border-radius: 0;
  }
  .cc-product-card-image a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .cc-product-card-image img,
  .cc-product-card-image .cc-card-image-el {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    max-width: 100%;
    border-radius: 0 !important;
    transition: transform 600ms var(--ease-smooth, ease);
  }
  .cc-product-card:hover .cc-product-card-image img,
  .cc-product-card:hover .cc-product-card-image .cc-card-image-el {
    transform: scale(1.05);
  }

  .cc-product-card-badges {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    z-index: 2;
  }

  .cc-product-card-actions {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    z-index: 2;
    opacity: 0;
    transform: translateX(0.5rem);
    transition: all 300ms var(--ease-smooth);
  }
  .cc-product-card:hover .cc-product-card-actions {
    opacity: 1;
    transform: translateX(0);
  }

  .cc-product-card-action-btn {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--color-widget-bg, var(--color-surface)) 92%, transparent);
    backdrop-filter: blur(8px);
    border: 1px solid color-mix(in srgb, var(--color-widget-border, var(--color-border)) 82%, transparent);
    cursor: pointer;
    color: var(--color-widget-text, var(--color-text));
    transition: all 200ms var(--ease-smooth);
    box-shadow: var(--shadow-sm);
  }
  .cc-product-card-action-btn:hover {
    background-color: var(--color-widget-button-bg, var(--color-primary));
    color: var(--color-widget-button-text, white);
    transform: scale(1.1);
  }

  /* Card quick-action circles (wishlist, compare, quickview) */
  .cc-card-action-circle {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--color-widget-bg, var(--color-surface)) 92%, transparent);
    backdrop-filter: blur(8px);
    border: 1px solid color-mix(in srgb, var(--color-widget-border, var(--color-border)) 82%, transparent);
    cursor: pointer;
    color: var(--color-widget-text, var(--color-text));
    transition: all 200ms var(--ease-smooth, ease);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.1));
  }
  .cc-card-action-circle:hover {
    background-color: var(--color-widget-button-bg, var(--color-primary));
    color: var(--color-widget-button-text, white);
    transform: scale(1.1);
  }
  .cc-card-action-circle.is-active {
    color: var(--color-widget-button-bg, var(--color-primary));
    background: color-mix(in srgb, var(--color-widget-button-bg, var(--color-primary)) 16%, transparent);
  }

  .cc-product-card-body {
    padding: 0.9rem 1rem 0.3rem;
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15rem;
    min-width: 0;
  }

  .cc-product-card-category {
    font-size: 0.68rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-primary);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cc-product-card-title {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1rem;
    color: var(--cc-showcase-card-title-color, var(--color-heading));
    margin: 0;
    line-height: 1.28;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .cc-product-card-title a {
    color: inherit;
  }
  .cc-product-card-title a:hover {
    color: var(--color-primary);
  }

  .cc-product-card-rating {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0;
  }
  .cc-product-card-rating .star-filled {
    color: #f59e0b;
  }
  .cc-product-card-rating .star-empty {
    color: var(--color-border);
  }
  .cc-product-card-rating .count {
    font-size: 0.75rem;
    color: var(--color-muted);
    margin-left: 0.25rem;
  }

  .cc-product-card-price {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin: 0;
    padding-top: 0.1rem;
  }
  .cc-product-card-price .amount {
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--cc-showcase-card-price-color, var(--color-heading));
  }
  .cc-product-card-price del .amount {
    font-weight: 400;
    font-size: 0.875rem;
    color: var(--color-muted);
    text-decoration: line-through;
  }
  .cc-product-card-price ins {
    text-decoration: none;
  }
  .cc-product-card-price-missing {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-muted);
  }

  /* Description clamping — strictly 1 line */
  .cc-product-card-specs {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.25 !important;
    min-height: 1.25em !important;
    max-height: 1.25em !important;
  }

  .cc-product-card-specs.is-empty {
    visibility: hidden;
  }

  /* Stronger clamp in nested/overridden contexts */
  .cc-product-card .cc-product-card-specs,
  .cc-showcase-grid .cc-product-card .cc-product-card-specs,
  .cc-showcase-carousel .cc-product-card .cc-product-card-specs {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    min-height: 1.25em !important;
    max-height: 1.25em !important;
  }

  .cc-product-card-stock {
    font-size: 0.75rem;
    color: #f59e0b;
    margin: 0;
  }

  /* (stock styles moved above) */

  .cc-product-card-footer {
    padding: 0 1rem 1rem;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .cc-add-to-cart {
    width: 100% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 !important;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    background: var(--cc-showcase-button-bg, var(--color-widget-button-bg, var(--color-btn-bg)));
    color: var(--cc-showcase-button-text, var(--color-widget-button-text, var(--color-btn-text)));
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: var(--cc-woo-radius, 3px) !important;
    border: none;
    cursor: pointer;
    transition: all 200ms var(--ease-smooth, ease);
    text-decoration: none;
  }

  .cc-add-to-cart-disabled {
    background: var(--color-border) !important;
    color: var(--color-muted) !important;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
  }

  .cc-add-to-cart:hover {
    opacity: 0.9;
    box-shadow: var(--shadow-md);
  }

  .cc-add-to-cart.loading {
    opacity: 0.7;
    pointer-events: none;
  }

  /* Hide WC-injected "View Cart" link after AJAX add-to-cart */
  .cc-product-card .added_to_cart {
    display: none !important;
  }

  /* ─── Product Card: Flat Preset ─── */
  .cc-product-card-flat {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    backdrop-filter: none;
  }
  .cc-product-card-flat:hover {
    transform: scale(1.02);
  }

  /* ─── Product Card: Elevated Preset ─── */
  .cc-product-card-elevated {
    background: var(--color-surface);
    border: none;
    box-shadow: var(--shadow-md);
    backdrop-filter: none;
  }
  .cc-product-card-elevated:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
  }

  /* ─── Product Card: Outlined Preset ─── */
  .cc-product-card-outlined {
    background: transparent;
    border: 2px solid var(--color-border);
    backdrop-filter: none;
  }
  .cc-product-card-outlined:hover {
    border-color: var(--color-primary);
    background: var(--color-surface);
  }

  /* ─── Category Filter Tabs ─── */
  .cc-category-tabs {
    display: flex;
    gap: 0.375rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .cc-category-tabs::-webkit-scrollbar {
    display: none;
  }
  .cc-category-tab {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.375rem 0.95rem;
    border-radius: var(--radius-pill);
    border: 1px solid var(--cc-showcase-tab-border-color, var(--color-widget-border, var(--color-border)));
    background: color-mix(in srgb, var(--cc-showcase-card-bg, var(--color-section-bg, var(--color-surface))) 76%, transparent);
    color: var(--cc-showcase-tab-color, var(--color-section-text, var(--color-muted)));
    transition: all 200ms var(--ease-smooth);
    white-space: nowrap;
    min-height: 2rem;
    font-size: 0.8125rem;
    line-height: 1.1;
  }

  .cc-category-tab-label {
    font-size: inherit;
    line-height: inherit;
  }
  .cc-category-tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    line-height: 1;
    color: var(--cc-showcase-tab-icon-color, currentColor);
  }
  .cc-category-tab-icon svg {
    width: 0.75rem;
    height: 0.75rem;
  }
  .cc-category-tab:hover,
  .cc-category-tab.active {
    background-color: var(--cc-showcase-tab-active-bg, var(--color-widget-button-bg, var(--color-primary)));
    color: var(--cc-showcase-tab-active-color, var(--color-widget-button-text, white));
    border-color: var(--cc-showcase-tab-active-bg, var(--color-widget-button-bg, var(--color-primary)));
  }

  .cc-category-tab:hover .cc-category-tab-icon,
  .cc-category-tab.active .cc-category-tab-icon {
    color: var(--cc-showcase-tab-active-icon-color, var(--cc-showcase-tab-active-color, var(--color-widget-button-text, white)));
  }

  /* ─── Shop Filters ─── */
  .cc-shop-filters {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    padding: 1.5rem;
  }
  .cc-shop-filter-group {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-shop-filter-group:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .cc-shop-filter-title {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--color-heading);
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .cc-price-range {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }
  .cc-price-range input[type="range"] {
    flex: 1;
    accent-color: var(--color-primary);
    border: none;
    padding: 0;
  }

  /* ─── Mini Cart (off-canvas) ─── */
  .cc-mini-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-mini-cart-items {
    padding: 1rem 1.5rem;
    flex: 1;
    overflow-y: auto;
  }
  .cc-mini-cart-item {
    display: flex;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-mini-cart-item:last-child {
    border-bottom: none;
  }
  .cc-mini-cart-item-image {
    width: 4rem;
    height: 4rem;
    border-radius: var(--cc-woo-radius, 3px);
    overflow: hidden;
    flex-shrink: 0;
  }
  .cc-mini-cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .cc-mini-cart-footer {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid var(--color-border);
  }
  .cc-mini-cart-total {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--color-heading);
  }

  /* ─── WooCommerce Notices ─── */
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    border-radius: var(--cc-woo-radius, 3px);
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
  }
  .woocommerce-message {
    border-left: 4px solid var(--color-primary);
  }
  .woocommerce-error {
    border-left: 4px solid #ef4444;
  }
  .woocommerce-info {
    border-left: 4px solid #3b82f6;
  }

  /* ─── WooCommerce Cart Page ─── */
  .woocommerce-cart table.shop_table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    overflow: hidden;
  }
  .woocommerce-cart table.shop_table th,
  .woocommerce-cart table.shop_table td {
    padding: 1rem;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
    background: var(--color-surface);
  }
  .woocommerce-cart table.shop_table th {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-heading);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
  }

  /* ─── WooCommerce Checkout ─── */
  .woocommerce-checkout .woocommerce-form-login,
  .woocommerce-checkout .woocommerce-form-coupon,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    padding: 1.5rem;
  }

  .woocommerce-checkout .form-row label {
    color: var(--color-heading);
    font-weight: 500;
    font-size: 0.875rem;
  }

  .woocommerce-checkout .form-row input,
  .woocommerce-checkout .form-row select,
  .woocommerce-checkout .form-row textarea {
    background: var(--color-input-bg);
    border: 1px solid var(--color-input-border);
    color: var(--color-text);
    border-radius: var(--cc-woo-radius, 3px);
  }

  /* ─── WooCommerce Payment Box ─── */
  #payment {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
  }
  #payment .payment_methods {
    padding: 1.5rem;
    border-bottom: 1px solid var(--color-border);
  }
  #payment .payment_methods li {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  #payment .payment_methods li:last-child {
    border-bottom: none;
  }
  #payment .payment_methods li label {
    color: var(--color-text);
    font-weight: 500;
  }
  #payment .payment_box {
    background: var(--color-background);
    border-radius: var(--radius-lg);
    padding: 1rem;
    color: var(--color-muted);
    font-size: 0.875rem;
  }
  #payment #place_order {
    background: var(--color-btn-bg);
    color: var(--color-btn-text);
    border: none;
    border-radius: var(--cc-woo-radius, 3px);
    padding: 0.875rem 2rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    width: 100%;
    transition: opacity 200ms ease;
  }
  #payment #place_order:hover {
    opacity: 0.9;
  }

  /* ─── Select2 (WooCommerce dropdowns) ─── */
  .select2-container--default .select2-selection--single {
    background-color: var(--color-input-bg);
    border: 1px solid var(--color-input-border);
    border-radius: var(--radius-lg);
    height: auto;
    padding: 0.5rem 0.75rem;
  }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--color-text);
    line-height: 1.5;
    padding: 0;
  }
  .select2-dropdown {
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
  }
  .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-primary);
    color: white;
  }
  .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--color-input-bg);
    border: 1px solid var(--color-input-border);
    color: var(--color-text);
    border-radius: var(--radius-md);
  }

  /* ─── WooCommerce Product Filters (sidebar) ─── */
  .widget_price_filter .price_slider_wrapper {
    padding: 0.5rem 0;
  }
  .widget_price_filter .ui-slider {
    background: var(--color-border);
    border: none;
    border-radius: var(--radius-pill);
    height: 4px;
  }
  .widget_price_filter .ui-slider .ui-slider-range {
    background: var(--color-primary);
  }
  .widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--color-primary);
    border: 2px solid white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    top: -7px;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
  }

  /* ─── WooCommerce Tabs ─── */
  .woocommerce-tabs .tabs {
    list-style: none;
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--color-border);
    padding: 0;
    margin: 0 0 1.5rem 0;
  }
  .woocommerce-tabs .tabs li {
    margin: 0;
  }
  .woocommerce-tabs .tabs li a {
    display: block;
    padding: 0.75rem 1.25rem;
    font-weight: 500;
    color: var(--color-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 200ms ease;
  }
  .woocommerce-tabs .tabs li.active a {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
  }

  /* ─── WooCommerce Quantity Inputs ─── */
  .quantity .qty {
    background: var(--color-input-bg);
    border: 1px solid var(--color-input-border);
    color: var(--color-text);
    border-radius: var(--cc-woo-radius, 3px);
    width: 4rem;
    text-align: center;
    padding: 0.5rem;
  }

  /* ─── WooCommerce Buttons ─── */
  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    background: var(--color-btn-bg);
    color: var(--color-btn-text);
    border: none;
    border-radius: var(--cc-woo-radius, 3px);
    padding: 0.625rem 1.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 200ms ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .woocommerce .button:hover,
  .woocommerce a.button:hover,
  .woocommerce button.button:hover {
    opacity: 0.9;
  }
  .woocommerce .button.alt,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt {
    background: var(--color-primary);
    color: white;
  }

  /* ─── WooCommerce Dark Mode Native Support ─── */

  /* Product card dark mode action buttons */
  [data-theme="dark"] .cc-product-card-action-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-btn-text);
  }

  /* Cart page */
  [data-theme="dark"] .woocommerce-cart table.shop_table th,
  [data-theme="dark"] .woocommerce-cart table.shop_table td {
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .woocommerce-cart table.shop_table {
    border-color: var(--color-border);
  }

  /* Checkout page */
  [data-theme="dark"] .woocommerce-checkout .woocommerce-form-login,
  [data-theme="dark"] .woocommerce-checkout .woocommerce-form-coupon,
  [data-theme="dark"] .woocommerce-checkout #order_review,
  [data-theme="dark"] .woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .woocommerce-checkout .form-row label {
    color: var(--color-heading);
  }
  [data-theme="dark"] .woocommerce-checkout .form-row input,
  [data-theme="dark"] .woocommerce-checkout .form-row select,
  [data-theme="dark"] .woocommerce-checkout .form-row textarea {
    background: var(--color-input-bg);
    border-color: var(--color-input-border);
    color: var(--color-text);
  }

  /* Payment box */
  [data-theme="dark"] #payment {
    background: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] #payment .payment_methods {
    border-color: var(--color-border);
  }
  [data-theme="dark"] #payment .payment_methods li {
    border-color: var(--color-border);
  }
  [data-theme="dark"] #payment .payment_methods li label {
    color: var(--color-text);
  }
  [data-theme="dark"] #payment .payment_box {
    background: var(--color-background);
    color: var(--color-muted);
  }
  [data-theme="dark"] #payment #place_order {
    background: var(--color-btn-bg);
    color: var(--color-btn-text);
  }

  /* Select2 dark mode */
  [data-theme="dark"] .select2-container--default .select2-selection--single {
    background-color: var(--color-input-bg);
    border-color: var(--color-input-border);
  }
  [data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--color-text);
  }
  [data-theme="dark"] .select2-dropdown {
    background-color: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--color-input-bg);
    border-color: var(--color-input-border);
    color: var(--color-text);
  }

  /* Notices dark mode */
  [data-theme="dark"] .woocommerce-message,
  [data-theme="dark"] .woocommerce-info,
  [data-theme="dark"] .woocommerce-error {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
  }

  /* WooCommerce Tabs dark mode */
  [data-theme="dark"] .woocommerce-tabs .tabs {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .woocommerce-tabs .tabs li a {
    color: var(--color-muted);
  }
  [data-theme="dark"] .woocommerce-tabs .tabs li.active a {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
  }

  /* Quantity inputs dark mode */
  [data-theme="dark"] .quantity .qty {
    background: var(--color-input-bg);
    border-color: var(--color-input-border);
    color: var(--color-text);
  }

  /* Shop filters dark mode */
  [data-theme="dark"] .cc-shop-filters {
    background: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-shop-filter-group {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-shop-filter-title {
    color: var(--color-heading);
  }

  /* Mini cart dark mode */
  [data-theme="dark"] .cc-mini-cart-header {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-mini-cart-item {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-mini-cart-footer {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-mini-cart-total {
    color: var(--color-heading);
  }

  /* Category tabs dark mode */
  [data-theme="dark"] .cc-category-tab {
    border-color: var(--color-border);
    color: var(--color-muted);
  }
  /* WooCommerce Buttons dark mode */
  [data-theme="dark"] .woocommerce .button,
  [data-theme="dark"] .woocommerce a.button,
  [data-theme="dark"] .woocommerce button.button,
  [data-theme="dark"] .woocommerce input.button {
    background: var(--color-btn-bg);
    color: var(--color-btn-text);
  }
  [data-theme="dark"] .cc-add-to-cart {
    background-color: var(--color-btn-bg);
    color: var(--color-btn-text);
  }

  /* My Account pages dark mode */
  [data-theme="dark"] .woocommerce-MyAccount-navigation ul {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .woocommerce-MyAccount-navigation ul li a {
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--color-primary);
  }
  [data-theme="dark"] .woocommerce-MyAccount-content {
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce-MyAccount-content table {
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce-MyAccount-content table th,
  [data-theme="dark"] .woocommerce-MyAccount-content table td {
    border-color: var(--color-border);
  }

  /* Product single page dark mode */
  [data-theme="dark"] .woocommerce div.product .product_title {
    color: var(--color-heading);
  }
  [data-theme="dark"] .woocommerce div.product .price {
    color: var(--color-heading);
  }
  [data-theme="dark"] .woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce div.product .product_meta {
    color: var(--color-muted);
  }
  [data-theme="dark"] .woocommerce div.product .product_meta a {
    color: var(--color-link);
  }

  /* Price filter widget dark mode */
  [data-theme="dark"] .widget_price_filter .ui-slider {
    background: var(--color-border);
  }
  [data-theme="dark"] .widget_price_filter .ui-slider .ui-slider-handle {
    border-color: var(--color-surface);
  }

  /* Star rating dark mode */
  [data-theme="dark"] .cc-product-card-rating .star-empty {
    color: var(--color-border);
  }

  /* WooCommerce breadcrumbs */
  [data-theme="dark"] .woocommerce-breadcrumb {
    color: var(--color-muted);
  }
  [data-theme="dark"] .woocommerce-breadcrumb a {
    color: var(--color-link);
  }

  /* WooCommerce pagination */
  [data-theme="dark"] .woocommerce-pagination ul li a,
  [data-theme="dark"] .woocommerce-pagination ul li span {
    color: var(--color-text);
    border-color: var(--color-border);
    background: var(--color-surface);
  }
  [data-theme="dark"] .woocommerce-pagination ul li span.current {
    background: var(--color-primary);
    color: var(--color-btn-text);
    border-color: var(--color-primary);
  }

  /* WooCommerce order details dark mode */
  [data-theme="dark"] .woocommerce-order-details table,
  [data-theme="dark"] .woocommerce-table--order-details {
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce-order-details table th,
  [data-theme="dark"] .woocommerce-order-details table td {
    border-color: var(--color-border);
  }

  /* WooCommerce form fields general dark mode */
  [data-theme="dark"] .woocommerce form .form-row input.input-text,
  [data-theme="dark"] .woocommerce form .form-row textarea,
  [data-theme="dark"] .woocommerce form .form-row select {
    background: var(--color-input-bg);
    border-color: var(--color-input-border);
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce form .form-row label {
    color: var(--color-heading);
  }

  /* ═══════════════════════════════════════
   *  Single Product Page
   * ═══════════════════════════════════════ */

  .woocommerce div.product {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1rem;
  }

  /* Breadcrumbs */
  .woocommerce-breadcrumb {
    font-size: 0.8rem;
    color: var(--color-muted);
    padding: 1rem 1.5rem;
    margin: 0;
  }
  .woocommerce-breadcrumb a {
    color: var(--color-primary);
    text-decoration: none;
  }
  .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
  }

  /* Product gallery + summary layout */
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none;
  }
  .woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
  }
  .woocommerce div.product .woocommerce-breadcrumb {
    grid-column: 1 / -1;
  }
  .woocommerce div.product div.images {
    width: 100%;
    position: relative;
    top: auto;
  }
  .woocommerce div.product div.images img {
    border-radius: var(--cc-woo-radius, 3px);
    max-width: 100%;
    height: auto;
  }
  .woocommerce div.product div.summary {
    width: 100%;
    padding-top: 0.5rem;
  }

  /* Product title */
  .woocommerce div.product .product_title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.75rem;
    color: var(--color-heading);
    margin: 0 0 0.75rem;
    line-height: 1.3;
  }

  /* Price */
  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: 1.25rem;
    display: block;
  }
  .woocommerce div.product p.price del {
    font-weight: 400;
    font-size: 1rem;
    color: var(--color-muted);
  }
  .woocommerce div.product p.price ins {
    text-decoration: none;
  }

  /* Short description */
  .woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--color-text);
    font-size: 0.9rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
  }

  /* Add-to-cart form area */
  .woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button {
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--cc-woo-radius, 3px);
    padding: 0.75rem 2rem;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: opacity 200ms;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button:hover {
    opacity: 0.9;
  }

  /* Product meta */
  .woocommerce div.product .product_meta {
    font-size: 0.85rem;
    color: var(--color-muted);
    line-height: 2;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
  }
  .woocommerce div.product .product_meta a {
    color: var(--color-primary);
    text-decoration: none;
  }
  .woocommerce div.product .product_meta a:hover {
    text-decoration: underline;
  }

  /* Tabs + related: span full width */
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related.products,
  .woocommerce div.product .upsells.products {
    grid-column: 1 / -1;
  }

  /* Tabs styling */
  .woocommerce div.product .woocommerce-tabs {
    margin-top: 2rem;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--color-border);
    padding: 0;
    margin: 0 0 1.5rem 0;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs::before,
  .woocommerce div.product .woocommerce-tabs ul.tabs::after {
    display: none;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--color-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 200ms ease;
    text-decoration: none;
    background: none;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--color-heading);
  }
  .woocommerce div.product .woocommerce-tabs .panel {
    color: var(--color-text);
    font-size: 0.9rem;
    line-height: 1.7;
  }
  .woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--color-heading);
    margin: 0 0 1rem;
  }

  /* Related / Upsell section heading */
  .woocommerce div.product .related.products > h2,
  .woocommerce div.product .upsells.products > h2 {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-heading);
    margin: 0 0 1.5rem;
  }

  /* WC gallery zoom / lightbox icon */
  .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }

  /* Responsive: stack on mobile */
  @media (max-width: 768px) {
    .woocommerce div.product {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }
    .woocommerce div.product div.images {
      position: static;
    }
  }

  /* ═══════════════════════════════════════
   *  NEW COMPONENTS — Archive Page
   * ═══════════════════════════════════════ */

  /* ─── Shop Archive Container ─── */
  .cc-shop-archive {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1rem 2rem;
  }

  /* ─── Shop Header (non-category) ─── */
  .cc-shop-header {
    padding: 2rem 0 1.5rem;
    margin-bottom: 1rem;
  }
  .cc-shop-header-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 2rem;
    color: var(--color-heading);
    margin: 0 0 0.5rem;
  }

  /* ─── Category Hero Banner ─── */
  .cc-category-hero {
    position: relative;
    padding: 3rem 2rem;
    border-radius: var(--cc-woo-radius, 3px);
    overflow: hidden;
    background: var(--color-surface);
    background-size: cover;
    background-position: center;
    margin-bottom: 2rem;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cc-category-hero-overlay {
    position: relative;
    z-index: 1;
    text-align: center;
    background: rgba(0, 0, 0, 0.45);
    padding: 1.5rem 2.5rem;
    border-radius: var(--cc-woo-radius, 3px);
  }
  .cc-category-hero-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 2rem;
    color: #fff;
    margin: 0 0 0.5rem;
  }

  /* ─── Breadcrumbs ─── */
  .cc-breadcrumb {
    font-size: 0.8rem;
    color: var(--color-muted);
  }
  .cc-category-hero-overlay .cc-breadcrumb {
    color: rgba(255,255,255,0.8);
  }
  .cc-category-hero-overlay .cc-breadcrumb a {
    color: rgba(255,255,255,0.9);
    text-decoration: none;
  }
  .cc-breadcrumb a {
    color: var(--color-primary);
    text-decoration: none;
  }
  .cc-breadcrumb-sep {
    margin: 0 0.375rem;
    opacity: 0.5;
  }

  /* ─── Subcategory Row ─── */
  .cc-subcategory-row {
    margin-bottom: 1.5rem;
  }
  .cc-subcategory-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
  }
  .cc-subcategory-scroll::-webkit-scrollbar { display: none; }
  .cc-subcategory-item {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    text-decoration: none;
    color: var(--color-text);
    transition: color 200ms;
    padding: 0.5rem;
    border-radius: var(--cc-woo-radius, 3px);
    border: 1px solid var(--color-border);
    min-width: 90px;
  }
  .cc-subcategory-item:hover {
    color: var(--color-primary);
    border-color: var(--color-primary);
  }
  .cc-subcategory-thumb {
    width: 3.5rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cc-subcategory-thumb img {
    width: 100%;
    height: 100%;
    border-radius: var(--cc-woo-radius, 3px);
    object-fit: cover;
  }
  .cc-subcategory-placeholder {
    width: 100%;
    height: 100%;
    border-radius: var(--cc-woo-radius, 3px);
    background: var(--color-border);
  }
  .cc-subcategory-name {
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    text-align: center;
  }
  .cc-subcategory-count {
    font-size: 0.65rem;
    color: var(--color-muted);
    white-space: nowrap;
  }

  /* ─── Archive Layout ─── */
  .cc-shop-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 2rem;
    align-items: start;
  }
  .cc-shop-layout[data-filter-position="right"] {
    grid-template-columns: 1fr 260px;
  }
  .cc-shop-layout[data-filter-position="right"] .cc-shop-filters {
    order: 2;
  }
  @media (max-width: 768px) {
    .cc-shop-layout {
      grid-template-columns: 1fr;
    }
  }

  /* ─── Filter Sidebar ─── */
  .cc-shop-filters {
    position: sticky;
    top: 5rem;
  }
  .cc-shop-filters-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
  }
  .cc-shop-filters-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1rem;
    color: var(--color-heading);
    margin: 0;
  }
  .cc-filter-close-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-muted);
    padding: 0.25rem;
  }
  .cc-filter-close-btn:hover {
    color: var(--color-heading);
  }
  @media (max-width: 768px) {
    .cc-shop-filters {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 10001;
      background: var(--color-background);
      padding: 1.5rem;
      overflow-y: auto;
      border-radius: 0;
    }
    .cc-shop-filters.is-open {
      display: block;
    }
    .cc-filter-close-btn {
      display: block;
    }
  }

  /* ─── Shop Main Content ─── */
  .cc-shop-main {
    min-width: 0;
  }

  /* ─── Color Swatches (filter) ─── */
  .cc-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .cc-color-swatch-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--color-text);
    position: relative;
  }
  .cc-color-swatch-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }
  .cc-color-swatch-label .cc-color-swatch {
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    border: 2px solid var(--color-border);
    transition: border-color 200ms, box-shadow 200ms;
    flex-shrink: 0;
  }
  .cc-color-swatch-input:checked ~ .cc-color-swatch {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-primary);
  }
  .cc-color-swatch-name {
    font-size: 0.8rem;
    color: var(--color-text);
  }

  /* ─── Checkbox Filters (material, stock) ─── */
  .cc-material-filters,
  .cc-brand-filters {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .cc-checkbox-filter {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--color-text);
    cursor: pointer;
  }
  .cc-checkbox-filter input[type="checkbox"] {
    accent-color: var(--color-primary);
    width: 1rem;
    height: 1rem;
  }
  .cc-checkbox-filter-label {
    flex: 1;
  }
  .cc-brand-text {
    font-size: 0.875rem;
    color: var(--color-text);
  }
  .cc-filter-count {
    font-size: 0.75rem;
    color: var(--color-muted);
    margin-left: auto;
  }
  .cc-brand-badge {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
  }
  .cc-brand-badge input[type="checkbox"] {
    accent-color: var(--color-primary);
    width: 1rem;
    height: 1rem;
  }
  .cc-brand-badge img {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
    border-radius: 2px;
  }

  /* ─── Dual Price Range ─── */
  .cc-price-range-dual {
    position: relative;
    height: 6px;
    background: var(--color-border);
    border-radius: 3px;
    margin: 1.5rem 0 0.75rem;
  }
  .cc-price-range-dual input[type="range"] {
    position: absolute;
    top: -6px;
    left: 0;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
    height: 18px;
  }
  .cc-price-range-dual input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background: var(--color-primary);
    border: 2px solid white;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: var(--shadow-sm);
  }
  .cc-price-range-dual input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--color-primary);
    border: 2px solid white;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
  }
  .cc-price-range-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: var(--color-muted);
  }

  /* ─── Sorting Bar ─── */
  .cc-sorting-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-result-count {
    font-size: 0.875rem;
    color: var(--color-muted);
  }
  .cc-sorting-select {
    padding: 0.375rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    background: var(--color-surface);
    color: var(--color-text);
    font-size: 0.8rem;
  }
  .cc-filter-toggle-btn {
    display: none;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    background: var(--color-surface);
    color: var(--color-text);
    cursor: pointer;
  }
  @media (max-width: 768px) {
    .cc-filter-toggle-btn { display: flex; align-items: center; gap: 0.375rem; }
  }

  /* (Product grid styles defined above in .cc-products-grid) */

  /* ─── Filter Apply Button (button mode) ─── */
  .cc-filter-apply-btn {
    width: 100%;
    padding: 0.625rem 1rem;
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--cc-woo-radius, 3px);
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    margin-top: 1rem;
    transition: opacity 200ms;
  }
  .cc-filter-apply-btn:hover { opacity: 0.9; }

  /* ─── Best Sellers Widget ─── */
  .cc-best-sellers {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
  }
  .cc-best-sellers h4 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--color-heading);
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .cc-best-seller-item {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.5rem 0;
    text-decoration: none;
  }
  .cc-best-seller-item img {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--cc-woo-radius, 3px);
    object-fit: cover;
  }
  .cc-best-seller-info {
    min-width: 0;
  }
  .cc-best-seller-name {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-heading);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }
  .cc-best-seller-price {
    font-size: 0.75rem;
    color: var(--color-primary);
  }

  /* ═══════════════════════════════════════
   *  Quantity Pill Controls
   * ═══════════════════════════════════════ */

  .cc-quantity-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    overflow: hidden;
    background: var(--color-surface);
  }
  .cc-quantity-pill .cc-qty-minus,
  .cc-quantity-pill .cc-qty-plus {
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--color-text);
    font-size: 1rem;
    font-weight: 500;
    transition: background 150ms;
  }
  .cc-quantity-pill .cc-qty-minus:hover,
  .cc-quantity-pill .cc-qty-plus:hover {
    background: var(--color-background);
  }
  .cc-quantity-pill input.cc-qty-input {
    width: 2.5rem;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-heading);
    padding: 0;
    appearance: textfield;
    -moz-appearance: textfield;
  }
  .cc-quantity-pill input.cc-qty-input::-webkit-inner-spin-button,
  .cc-quantity-pill input.cc-qty-input::-webkit-outer-spin-button {
    appearance: none;
  }
  .cc-quantity-pill .cc-qty-value {
    min-width: 1.5rem;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-heading);
  }
  .cc-quantity-pill-sm {
    height: 1.75rem;
  }
  .cc-quantity-pill-sm .cc-qty-minus,
  .cc-quantity-pill-sm .cc-qty-plus {
    width: 1.5rem;
    height: 1.75rem;
    font-size: 0.8rem;
  }
  .cc-quantity-pill-sm .cc-qty-value {
    font-size: 0.75rem;
    min-width: 1.25rem;
  }

  /* ═══════════════════════════════════════
   *  Free Shipping Bar
   * ═══════════════════════════════════════ */

  .cc-free-shipping-bar {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-free-shipping-msg {
    font-size: 0.8rem;
    color: var(--color-text);
    margin: 0 0 0.5rem;
    text-align: center;
  }
  .cc-free-shipping-achieved {
    color: #22c55e;
    font-weight: 600;
  }
  .cc-free-shipping-track {
    height: 4px;
    background: var(--color-border);
    border-radius: 2px;
    overflow: hidden;
  }
  .cc-free-shipping-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--color-primary), #22c55e);
    border-radius: 2px;
    transition: width 400ms ease;
  }

  /* ═══════════════════════════════════════
   *  Mini-Cart Enhanced
   * ═══════════════════════════════════════ */

  .cc-mini-cart-item {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border);
    align-items: flex-start;
  }
  .cc-mini-cart-item:last-child { border-bottom: none; }

  .cc-mini-cart-item-info {
    flex: 1;
    min-width: 0;
  }
  .cc-mini-cart-item-name {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-heading);
    text-decoration: none;
    display: block;
    line-height: 1.3;
    margin-bottom: 0.375rem;
  }
  .cc-mini-cart-item-name:hover { color: var(--color-primary); }

  .cc-mini-cart-item-qty-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .cc-mini-cart-item-price {
    font-size: 0.8rem;
    color: var(--color-muted);
  }
  .cc-mini-cart-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-muted);
    padding: 0.25rem;
    transition: color 200ms;
    flex-shrink: 0;
  }
  .cc-mini-cart-remove:hover {
    color: #ef4444;
  }
  .cc-mini-cart-empty {
    padding: 2rem 0;
  }

  /* ═══════════════════════════════════════
   *  Cart Page
   * ═══════════════════════════════════════ */

  .cc-cart-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
  }
  .cc-cart-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 2rem;
    align-items: start;
  }
  @media (max-width: 768px) {
    .cc-cart-layout { grid-template-columns: 1fr; }
  }

  .cc-cart-heading {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-heading);
    margin: 0 0 1.5rem;
  }

  .cc-cart-item {
    display: flex;
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-cart-item:first-of-type {
    border-top: 1px solid var(--color-border);
  }
  .cc-cart-item-image {
    width: 5rem;
    height: 5rem;
    border-radius: var(--cc-woo-radius, 3px);
    overflow: hidden;
    flex-shrink: 0;
  }
  .cc-cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .cc-cart-item-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .cc-cart-item-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .cc-cart-item-name {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--color-heading);
    text-decoration: none;
  }
  .cc-cart-item-name:hover { color: var(--color-primary); }

  .cc-cart-item-price {
    font-size: 0.8rem;
    color: var(--color-muted);
    margin-top: 0.25rem;
  }
  .cc-cart-item-remove {
    color: var(--color-muted);
    transition: color 200ms;
    padding: 0.25rem;
    flex-shrink: 0;
  }
  .cc-cart-item-remove:hover { color: #ef4444; }

  .cc-cart-item-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  .cc-cart-item-subtotal {
    font-weight: 700;
    font-size: 1rem;
    color: var(--color-heading);
  }

  .cc-cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    flex-wrap: wrap;
  }
  .cc-cart-coupon {
    display: flex;
    gap: 0.5rem;
  }
  .cc-coupon-input {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    background: var(--color-surface);
    color: var(--color-text);
    font-size: 0.875rem;
    min-width: 180px;
  }

  /* ─── Cart Totals Sidebar ─── */
  .cc-cart-totals {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    padding: 1.5rem;
  }
  .cc-cart-totals-heading {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--color-heading);
    margin: 0 0 1rem;
  }
  .cc-cart-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.625rem 0;
    font-size: 0.875rem;
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
  }
  .cc-cart-totals-row:last-of-type {
    border-bottom: none;
  }
  .cc-cart-totals-total {
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--color-heading);
    padding-top: 0.75rem;
    margin-top: 0.5rem;
    border-top: 2px solid var(--color-border);
    border-bottom: none;
  }
  .cc-cart-checkout-btn {
    margin-top: 1rem;
  }
  .cc-cart-checkout-btn .checkout-button {
    width: 100%;
    display: block;
    text-align: center;
    padding: 0.875rem 1.5rem;
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--cc-woo-radius, 3px);
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 200ms;
  }
  .cc-cart-checkout-btn .checkout-button:hover { opacity: 0.9; }

  .cc-cart-shipping-bar {
    margin-bottom: 1rem;
    padding: 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
  }

  /* ═══════════════════════════════════════
   *  Wishlist Button (product page + card)
   * ═══════════════════════════════════════ */

  .cc-wishlist-action {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    background: transparent;
    color: var(--color-muted);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 200ms;
  }
  .cc-wishlist-action:hover,
  .cc-wishlist-action.is-active {
    color: #ef4444;
    border-color: #ef4444;
  }
  .cc-wishlist-action.is-active svg { fill: currentColor; }

  /* Card wishlist/compare active */
  .cc-product-card-action-btn.is-active {
    background: var(--color-primary);
    color: white;
  }
  .cc-product-card-action-btn.cc-wishlist-btn.is-active {
    background: #ef4444;
    color: white;
  }
  .cc-product-card-action-btn.cc-compare-btn.is-active {
    background: var(--color-primary);
    color: white;
  }

  /* ═══════════════════════════════════════
   *  Compare Bar + Modal
   * ═══════════════════════════════════════ */

  .cc-compare-bar {
    position: fixed;
    bottom: -100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    transition: bottom 300ms ease;
    pointer-events: none;
  }
  .cc-compare-bar.is-visible {
    bottom: 1.5rem;
    pointer-events: auto;
  }
  .cc-compare-bar-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    box-shadow: var(--shadow-xl);
    white-space: nowrap;
  }
  .cc-compare-bar-count {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-text);
  }

  .cc-compare-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
  }
  .cc-compare-modal-inner {
    background: var(--color-background);
    border-radius: var(--cc-woo-radius, 3px);
    max-width: 900px;
    width: 100%;
    max-height: 80vh;
    overflow: auto;
    box-shadow: var(--shadow-xl);
  }
  .cc-compare-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--color-border);
  }
  .cc-compare-modal-header h3 {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--color-heading);
    margin: 0;
  }
  .cc-compare-modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--color-muted);
    line-height: 1;
  }
  .cc-compare-table-wrap {
    padding: 1rem 1.5rem;
    overflow-x: auto;
  }
  .cc-compare-table {
    width: 100%;
    border-collapse: collapse;
  }
  .cc-compare-table th,
  .cc-compare-table td {
    padding: 0.75rem 1rem;
    text-align: center;
    border-bottom: 1px solid var(--color-border);
    font-size: 0.875rem;
    color: var(--color-text);
    vertical-align: top;
  }
  .cc-compare-table th img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--cc-woo-radius, 3px);
    display: block;
    margin: 0 auto 0.5rem;
  }
  .cc-compare-table th a {
    color: var(--color-heading);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.8rem;
  }
  .cc-compare-table td:first-child {
    text-align: left;
    font-weight: 600;
    color: var(--color-heading);
    white-space: nowrap;
  }

  /* ═══════════════════════════════════════
   *  Product Brand Display
   * ═══════════════════════════════════════ */

  .cc-product-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
  }
  .cc-product-brand-logo {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
  }
  .cc-product-brand-name {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-muted);
  }

  /* ═══════════════════════════════════════
   *  Social Share
   * ═══════════════════════════════════════ */

  .cc-social-share {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
  }
  .cc-social-share a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-muted);
    transition: all 200ms;
  }
  .cc-social-share a:hover {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
  }

  /* ═══════════════════════════════════════
   *  Checkout Enhancements
   * ═══════════════════════════════════════ */

  .cc-checkout-item-name {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }
  .cc-checkout-thumb {
    border-radius: var(--cc-woo-radius, 3px);
    flex-shrink: 0;
  }

  /* ═══════════════════════════════════════
   *  Off-Canvas Panel
   * ═══════════════════════════════════════ */

  .cc-offcanvas {
    position: fixed;
    top: 0;
    right: -100%;
    width: 380px;
    max-width: 90vw;
    height: 100vh;
    background: var(--color-background);
    box-shadow: var(--shadow-xl);
    z-index: 10001;
    display: flex;
    flex-direction: column;
    transition: right 300ms ease;
  }
  .cc-offcanvas.is-open {
    right: 0;
  }
  .cc-offcanvas-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 10000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms;
  }
  .cc-offcanvas-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* ═══════════════════════════════════════
   *  Buttons (shared)
   * ═══════════════════════════════════════ */

  .cc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.625rem 1.25rem;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: var(--cc-woo-radius, 3px);
    border: none;
    cursor: pointer;
    transition: all 200ms;
    text-decoration: none;
  }
  .cc-btn-primary {
    background: var(--color-primary);
    color: white;
  }
  .cc-btn-primary:hover { opacity: 0.9; }
  .cc-btn-secondary {
    background: var(--color-surface);
    color: var(--color-text);
    border: 1px solid var(--color-border);
  }
  .cc-btn-secondary:hover {
    background: var(--color-background);
  }
  .cc-btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
  }

  /* ═══════════════════════════════════════
   *  Badges
   * ═══════════════════════════════════════ */

  .cc-badge {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: var(--cc-woo-radius, 3px);
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .cc-badge-accent {
    background: #ef4444;
    color: white;
  }
  .cc-badge-primary {
    background: var(--color-primary);
    color: white;
  }
  .cc-cart-badge {
    position: absolute;
    top: -0.375rem;
    right: -0.375rem;
    min-width: 1.125rem;
    height: 1.125rem;
    border-radius: 999px;
    background: var(--color-primary);
    color: white;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.25rem;
    line-height: 1;
  }

  /* ═══════════════════════════════════════
   *  WooCommerce Pagination (archive)
   * ═══════════════════════════════════════ */

  .cc-pagination {
    display: flex;
    justify-content: center;
    gap: 0.375rem;
    padding: 2rem 0;
  }
  .cc-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--cc-woo-radius, 3px);
    font-size: 0.875rem;
    color: var(--color-text);
    text-decoration: none;
    background: var(--color-surface);
    transition: all 200ms;
  }
  .cc-pagination .page-numbers.current,
  .cc-pagination .page-numbers:hover {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
  }

  /* ═══════════════════════════════════════
   *  Stock Toggle Filter
   * ═══════════════════════════════════════ */

  .cc-stock-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--color-text);
  }
  .cc-stock-toggle input {
    accent-color: var(--color-primary);
    width: 1rem;
    height: 1rem;
  }

  /* ═══════════════════════════════════════
   *  Dark Mode — New Components
   * ═══════════════════════════════════════ */

  /* Single product dark mode */
  [data-theme="dark"] .woocommerce div.product .product_title {
    color: var(--color-heading);
  }
  [data-theme="dark"] .woocommerce div.product p.price,
  [data-theme="dark"] .woocommerce div.product span.price {
    color: var(--color-primary);
  }
  [data-theme="dark"] .woocommerce div.product .product_meta {
    color: var(--color-muted);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .woocommerce div.product .product_meta a {
    color: var(--color-primary);
  }
  [data-theme="dark"] .woocommerce div.product .woocommerce-tabs ul.tabs {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--color-muted);
  }
  [data-theme="dark"] .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
  }
  [data-theme="dark"] .woocommerce div.product .woocommerce-tabs .panel {
    color: var(--color-text);
  }
  [data-theme="dark"] .woocommerce-breadcrumb {
    color: var(--color-muted);
  }
  [data-theme="dark"] .woocommerce-breadcrumb a {
    color: var(--color-primary);
  }

  [data-theme="dark"] .cc-category-hero {
    background: var(--color-surface);
  }
  [data-theme="dark"] .cc-subcategory-thumb img {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-sorting-select,
  [data-theme="dark"] .cc-filter-toggle-btn {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
  }
  [data-theme="dark"] .cc-quantity-pill {
    background: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-quantity-pill .cc-qty-minus:hover,
  [data-theme="dark"] .cc-quantity-pill .cc-qty-plus:hover {
    background: var(--color-background);
  }
  [data-theme="dark"] .cc-coupon-input {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
  }
  [data-theme="dark"] .cc-cart-totals {
    background: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-cart-item {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-compare-bar-inner {
    background: var(--color-surface);
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-compare-modal-inner {
    background: var(--color-background);
  }
  [data-theme="dark"] .cc-compare-modal-header {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-compare-table th,
  [data-theme="dark"] .cc-compare-table td {
    border-color: var(--color-border);
    color: var(--color-text);
  }
  [data-theme="dark"] .cc-social-share a {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-muted);
  }
  [data-theme="dark"] .cc-social-share a:hover {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
  }
  [data-theme="dark"] .cc-offcanvas {
    background: var(--color-background);
  }
  [data-theme="dark"] .cc-free-shipping-track {
    background: var(--color-border);
  }
  [data-theme="dark"] .cc-wishlist-action {
    border-color: var(--color-border);
    color: var(--color-muted);
  }
  [data-theme="dark"] .cc-color-swatch-label .cc-color-swatch {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-btn-secondary {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
  }
  [data-theme="dark"] .cc-btn-secondary:hover {
    background: var(--color-background);
  }
  [data-theme="dark"] .cc-cart-shipping-bar {
    border-color: var(--color-border);
  }
  [data-theme="dark"] .cc-pagination .page-numbers {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
  }
  [data-theme="dark"] .cc-pagination .page-numbers.current,
  [data-theme="dark"] .cc-pagination .page-numbers:hover {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
  }


  /* ═══════════════════════════════════════
   *  Product Showcase Section (GadgetsSection style)
   * ═══════════════════════════════════════ */

  .cc-showcase-section {
    position: relative;
    background: var(--cc-showcase-section-bg, var(--color-section-bg, var(--color-background)));
    padding: 1.5rem 0;
    overflow: hidden;
    color: var(--color-section-text, var(--color-text));
  }
  @media (min-width: 768px) {
    .cc-showcase-section { padding: 2rem 0; }
  }

  .cc-showcase-bg {
    position: absolute;
    inset: 0;
    background: var(--cc-showcase-surface-bg, linear-gradient(135deg, color-mix(in srgb, var(--color-section-bg, var(--color-background)) 92%, transparent), color-mix(in srgb, var(--color-section-alt-bg, var(--color-section-bg, var(--color-background))) 92%, transparent)));
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
  }
  [data-theme="dark"] .cc-showcase-bg {
    background: var(--cc-showcase-surface-bg, linear-gradient(135deg, color-mix(in srgb, var(--color-section-bg, var(--color-background)) 96%, transparent), color-mix(in srgb, var(--color-section-alt-bg, var(--color-section-bg, var(--color-background))) 94%, transparent)));
  }

  .cc-showcase-container {
    position: relative;
    max-width: var(--container-width, 1280px);
    margin: 0 auto;
    padding: 0 1rem;
  }

  /* ── Section Header ── */
  .cc-showcase-header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }
  @media (min-width: 768px) {
    .cc-showcase-header {
      flex-direction: row;
      align-items: flex-end;
      justify-content: space-between;
    }
  }

  .cc-showcase-icons {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .cc-showcase-icon {
    color: var(--cc-showcase-icon-color, var(--color-section-heading, var(--color-heading)));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
  }
  .cc-showcase-icon svg,
  .cc-showcase-icon i,
  .cc-showcase-icon svg *,
  .cc-category-tab-icon svg * {
    width: 1.25rem;
    height: 1.25rem;
    font-size: 1.25rem;
    fill: currentColor;
    stroke: currentColor;
  }

  .cc-showcase-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cc-showcase-title-color, var(--color-section-heading, var(--color-heading)));
  }
  @media (min-width: 768px) {
    .cc-showcase-title { font-size: 1.875rem; }
  }

  .cc-text-gold-gradient {
    background: linear-gradient(135deg, var(--cc-showcase-highlight-color, var(--color-primary)), color-mix(in srgb, var(--cc-showcase-highlight-color, var(--color-primary)) 45%, var(--color-accent, var(--color-link-hover))), var(--cc-showcase-highlight-color, var(--color-primary)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .cc-showcase-subtitle {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: var(--cc-showcase-subtitle-color, var(--color-section-text, var(--color-muted)));
    max-width: 28rem;
  }

  .cc-showcase-header-right {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  /* ── Sort dropdown (updated) ── */
  .cc-sort-dropdown {
    font-size: 0.875rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--cc-showcase-tab-border-color, var(--color-widget-border, var(--color-border)));
    border-radius: var(--cc-woo-radius, 3px);
    background: color-mix(in srgb, var(--cc-showcase-card-bg, var(--color-widget-bg, var(--color-surface))) 96%, transparent);
    color: var(--cc-showcase-tab-color, var(--color-widget-text, var(--color-text)));
    backdrop-filter: blur(8px);
    cursor: pointer;
  }

  /* ── Navigation Arrows ── */
  .cc-showcase-nav-arrows {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .cc-showcase-arrow {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--color-widget-border, var(--color-border)) 85%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cc-showcase-icon-color, var(--color-widget-button-bg, var(--color-primary)));
    background: color-mix(in srgb, var(--color-widget-bg, var(--color-surface)) 72%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
    transition: all 200ms ease;
  }
  .cc-showcase-arrow:hover {
    background: var(--cc-showcase-button-bg, var(--color-widget-button-bg, var(--color-primary)));
    color: var(--cc-showcase-button-text, var(--color-widget-button-text, white));
  }

  /* ── Carousel ── */
  .cc-showcase-carousel {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .cc-showcase-carousel::-webkit-scrollbar {
    display: none;
  }

  .cc-carousel-item {
    flex-shrink: 0;
    scroll-snap-align: start;
  }

  /* ── Grid layout ── */
  .cc-showcase-grid {
    display: grid;
    gap: 1.5rem;
  }
  .cc-grid-cols-2 { grid-template-columns: repeat(1, 1fr); }
  .cc-grid-cols-3 { grid-template-columns: repeat(1, 1fr); }
  .cc-grid-cols-4 { grid-template-columns: repeat(1, 1fr); }
  .cc-grid-cols-5 { grid-template-columns: repeat(2, 1fr); }
  @media (min-width: 640px) {
    .cc-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
    .cc-grid-cols-3 { grid-template-columns: repeat(2, 1fr); }
    .cc-grid-cols-4 { grid-template-columns: repeat(2, 1fr); }
    .cc-grid-cols-5 { grid-template-columns: repeat(3, 1fr); }
  }
  @media (min-width: 1024px) {
    .cc-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
    .cc-grid-cols-4 { grid-template-columns: repeat(3, 1fr); }
    .cc-grid-cols-5 { grid-template-columns: repeat(4, 1fr); }
  }
  @media (min-width: 1280px) {
    .cc-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
    .cc-grid-cols-5 { grid-template-columns: repeat(5, 1fr); }
  }

  .cc-showcase-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--color-muted);
  }

  /* ── Glass Reflection Overlay ── */
  .cc-card-glass-reflection {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.1), transparent, transparent);
    pointer-events: none;
    z-index: 1;
    border-radius: inherit;
  }

  /* ── Updated Badges ── */
  .cc-badge-hot {
    background: #ef4444;
    color: white;
    animation: cc-pulse 2s infinite;
  }
  .cc-badge-new {
    background: var(--color-primary);
    color: white;
  }
  .cc-badge-sale {
    background: transparent;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
  }
  .cc-badge-low-stock {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid #ef4444;
    color: #ef4444;
    animation: cc-pulse 2s infinite;
  }

  @keyframes cc-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
  }

  /* ── Updated Quick-Action Circles ── */
  .cc-card-action-circle {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(var(--color-primary-rgb, 59, 130, 246), 0.2);
    cursor: pointer;
    color: var(--color-text);
    transition: all 200ms ease;
    text-decoration: none;
  }
  .cc-card-action-circle:hover {
    color: var(--color-primary);
    border-color: var(--color-primary);
  }
  [data-theme="dark"] .cc-card-action-circle {
    background: rgba(30, 41, 59, 0.7);
  }

  .cc-wishlist-btn.active {
    color: var(--color-primary);
    background: rgba(var(--color-primary-rgb, 59, 130, 246), 0.2);
    border-color: var(--color-primary);
  }
  .cc-wishlist-btn.active svg {
    fill: var(--color-primary);
  }

  /* ── Image hover overlay (handled above in .cc-product-card-image rules) ── */

  .cc-card-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.5), transparent, transparent);
    opacity: 0;
    transition: opacity 300ms ease;
    pointer-events: none;
  }
  .cc-product-card:hover .cc-card-image-overlay {
    opacity: 1;
  }

  /* ── Specs line ── */
  .cc-product-card .cc-product-card-specs {
    font-size: 0.8rem;
    color: var(--color-muted);
    margin: 0;
    padding: 0;
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.2;
  }
  /* In grid layout: 1-line description */
  .cc-products-grid .cc-product-card .cc-product-card-specs {
    white-space: nowrap !important;
  }

  /* ── WhatsApp CTA ── */
  .cc-whatsapp-cta {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background-color: var(--color-btn-bg, var(--color-primary));
    color: var(--color-btn-text, white);
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: var(--cc-woo-radius, 3px);
    border: none;
    cursor: pointer;
    transition: all 200ms ease;
    text-decoration: none;
    margin-top: 0.5rem;
  }
  .cc-whatsapp-cta:hover {
    opacity: 0.9;
    box-shadow: var(--shadow-md);
  }
