/**
 * GGM Commerce - Professional Default Styles
 *
 * This stylesheet provides professional default styling for all widgets.
 * It is only loaded when "Professional Defaults" are enabled in Settings > Widget Styles.
 * When disabled, widgets inherit from Elementor Site Settings.
 *
 * IMPORTANT: All widget styling should be defined here, NOT as inline defaults
 * in widget control registration. This keeps styles centralized and easy to update.
 *
 * Version: 1.0
 * Last Updated: 2025-12-08
 */

/* =================================================================
   DESIGN SYSTEM - Base Variables
   ================================================================= */
:root {
    /* Brand Colors */
    --ggmc-primary: #2563eb;
    --ggmc-primary-dark: #1d4ed8;
    --ggmc-primary-hover: #1d4ed8;
    --ggmc-primary-light: rgba(37, 99, 235, 0.08);

    /* Add to Cart Button */
    --ggmc-cart-button: #600060;

    /* Text Colors */
    --ggmc-text-primary: #0f172a;
    --ggmc-text-secondary: #475569;
    --ggmc-text-muted: #6b7280;
    --ggmc-text-light: #9ca3af;

    /* Background Colors */
    --ggmc-background: #ffffff;
    --ggmc-surface: #f8fafc;
    --ggmc-surface-hover: #f3f4f6;

    /* Border & Radius */
    --ggmc-border: #e2e8f0;
    --ggmc-accent-cyan: #58d0f5;
    --ggmc-border-radius-sm: 4px;
    --ggmc-border-radius-md: 6px;
    --ggmc-border-radius: 8px;
    --ggmc-border-radius-lg: 8px;
    --ggmc-border-radius-xl: 10px;
    --ggmc-border-radius-2xl: 20px;

    /* Shadows */
    --ggmc-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --ggmc-shadow-hover: 0 10px 25px rgba(0, 0, 0, 0.1);
    --ggmc-shadow-button: 0 4px 12px rgba(37, 99, 235, 0.3);
    --ggmc-shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.1);

    /* Overlay Colors */
    --ggmc-overlay-bg: rgba(0, 0, 0, 0.8);
    --ggmc-overlay-light: rgba(255, 255, 255, 0.9);
    --ggmc-overlay-dark: rgba(0, 0, 0, 0.7);

    /* Opacity Variants - White */
    --ggmc-white-10: rgba(255, 255, 255, 0.1);
    --ggmc-white-15: rgba(255, 255, 255, 0.15);
    --ggmc-white-20: rgba(255, 255, 255, 0.2);
    --ggmc-white-25: rgba(255, 255, 255, 0.25);
    --ggmc-white-30: rgba(255, 255, 255, 0.3);
    --ggmc-white-80: rgba(255, 255, 255, 0.8);

    /* Opacity Variants - Black */
    --ggmc-black-06: rgba(0, 0, 0, 0.06);
    --ggmc-black-08: rgba(0, 0, 0, 0.08);
    --ggmc-black-10: rgba(0, 0, 0, 0.1);
    --ggmc-black-15: rgba(0, 0, 0, 0.15);
    --ggmc-black-50: rgba(0, 0, 0, 0.5);

    /* Additional Status Colors */
    --ggmc-success-10: rgba(5, 150, 105, 0.1);
    --ggmc-error-10: rgba(220, 38, 38, 0.1);

    /* Neutral Gray (for disabled states, borders) */
    --ggmc-gray-200: #e5e7eb;
    --ggmc-gray-300: #d1d5db;

    /* Status Colors */
    --ggmc-success: #059669;
    --ggmc-success-light: #d1fae5;
    --ggmc-success-lighter: #ecfdf5;
    --ggmc-success-border: #86EFAC;
    --ggmc-success-dark: #16a34a;
    --ggmc-success-shadow: rgba(5, 150, 105, 0.3);
    --ggmc-text-on-success: #ffffff;

    --ggmc-warning: #d97706;
    --ggmc-warning-light: #FEF3C7;
    --ggmc-warning-border: #FCD34D;
    --ggmc-warning-dark: #f59e0b;

    --ggmc-error: #dc2626;
    --ggmc-error-light: #FEF2F2;
    --ggmc-error-border: #FECACA;

    /* Text on Colors */
    --ggmc-text-on-primary: #ffffff;
    --ggmc-text-on-dark: #ffffff;
    --ggmc-text-on-error: #ffffff;
    --ggmc-text-on-warning: #ffffff;

    /* Primary Shadows */
    --ggmc-primary-shadow: rgba(37, 99, 235, 0.25);
    --ggmc-primary-shadow-hover: rgba(37, 99, 235, 0.4);

    /* Badge Colors */
    --ggmc-badge-sale-bg: #dc2626;
    --ggmc-badge-sale-text: #ffffff;
    --ggmc-badge-new-bg: #059669;
    --ggmc-badge-new-text: #ffffff;
    --ggmc-badge-featured-bg: #d97706;
    --ggmc-badge-featured-text: #ffffff;

    /* Subscription Status Colors */
    --ggmc-sub-active: #16a34a;
    --ggmc-sub-active-bg: #dcfce7;
    --ggmc-sub-trial: #8b5cf6;
    --ggmc-sub-trial-bg: #ede9fe;
    --ggmc-sub-paused: #d97706;
    --ggmc-sub-paused-bg: #fef3c7;
    --ggmc-sub-cancelled: #6b7280;
    --ggmc-sub-cancelled-bg: #f3f4f6;
    --ggmc-sub-on-hold: #dc2626;
    --ggmc-sub-on-hold-bg: #fef2f2;
    --ggmc-sub-pending: #2563eb;
    --ggmc-sub-pending-bg: #eff6ff;
    --ggmc-sub-expired: #9ca3af;
    --ggmc-sub-expired-bg: #f9fafb;
    --ggmc-sub-failed: #dc2626;
    --ggmc-sub-failed-bg: #fef2f2;
    --ggmc-sub-pending-cancel: #ea580c;
    --ggmc-sub-pending-cancel-bg: #fff7ed;

    /* Typography - Font Families */
    --ggmc-font-family: 'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ggmc-font-family-alt: 'Noto Sans', system-ui, -apple-system, sans-serif;

    /* Typography - Font Weights */
    --ggmc-font-weight-light: 300;
    --ggmc-font-weight-normal: 400;
    --ggmc-font-weight-medium: 500;
    --ggmc-font-weight-semibold: 600;
    --ggmc-font-weight-bold: 700;

    /* Typography - Font Sizes */
    --ggmc-font-size-2xs: 10px;
    --ggmc-font-size-xs: 11px;
    --ggmc-font-size-sm: 12px;
    --ggmc-font-size-base-sm: 13px;
    --ggmc-font-size-base: 14px;
    --ggmc-font-size-md: 15px;
    --ggmc-font-size-lg: 16px;
    --ggmc-font-size-xl: 18px;
    --ggmc-font-size-2xl: 20px;
    --ggmc-font-size-3xl: 24px;
    --ggmc-font-size-4xl: 28px;
    --ggmc-font-size-5xl: 32px;
    --ggmc-font-size-6xl: 36px;
    --ggmc-font-size-7xl: 48px;
    --ggmc-font-size-8xl: 64px;

    /* Spacing Scale */
    --ggmc-spacing-2xs: 2px;
    --ggmc-spacing-xs: 4px;
    --ggmc-spacing-xs-plus: 5px;
    --ggmc-spacing-sm-minus: 6px;
    --ggmc-spacing-sm: 8px;
    --ggmc-spacing-sm-plus: 10px;
    --ggmc-spacing-md-minus: 12px;
    --ggmc-spacing-md-sm: 15px;
    --ggmc-spacing-md: 16px;
    --ggmc-spacing-md-plus: 20px;
    --ggmc-spacing-lg: 24px;
    --ggmc-spacing-lg-plus: 30px;
    --ggmc-spacing-xl: 32px;
    --ggmc-spacing-xl-plus: 40px;
    --ggmc-spacing-xxl: 48px;

    /* Transitions */
    --ggmc-transition: 0.3s ease;

    /* Transforms */
    --ggmc-hover-lift: -2px;

    /* Star Rating */
    --ggmc-star-filled: #fbbf24;
    --ggmc-star-empty: #d1d5db;

    /* Button Colors */
    --ggmc-button-bg: #2563eb;
    --ggmc-button-bg-hover: #1d4ed8;
    --ggmc-button-text: #ffffff;
    --ggmc-button-border: #2563eb;

    /* Icon Button Colors */
    --ggmc-icon-button-bg: #f3f4f6;
    --ggmc-icon-button-text: #666666;
    --ggmc-wishlist-hover-bg: #fee2e2;
    --ggmc-wishlist-hover-text: #dc2626;
    --ggmc-compare-hover-bg: #dbeafe;
    --ggmc-compare-hover-text: #2563eb;

    /* Pagination Colors */
    --ggmc-pagination-bg: #ffffff;
    --ggmc-pagination-text: #333;
    --ggmc-pagination-border: #e2e8f0;
    --ggmc-pagination-hover-bg: #2563eb;
    --ggmc-pagination-hover-text: #ffffff;
    --ggmc-pagination-active-bg: #2563eb;
    --ggmc-pagination-active-text: #ffffff;

    /* Comparison Bar - Customizable via Widget Controls */
    --ggmc-compare-bar-gradient-start: #1e40af;
    --ggmc-compare-bar-gradient-end: #3b82f6;
    --ggmc-compare-bar-text: #ffffff;
    --ggmc-compare-bar-btn-bg: #ffffff;
    --ggmc-compare-bar-btn-text: #1e40af;
    --ggmc-compare-bar-btn-hover-bg: #f0f9ff;
    --ggmc-compare-bar-radius: 0px;

    /* Notification Messages - Customizable via Widget Controls */
    --ggmc-notification-bg: #ffffff;
    --ggmc-notification-text: #374151;
    --ggmc-notification-radius: 8px;
}

/* =================================================================
   ADD TO CART WIDGET
   ================================================================= */

/* Add to Cart Button (Primary Style) */
.elementor-widget-ggmc-add-to-cart .ggmc-add-to-cart-btn {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    padding: 14px 24px;
    border-radius: var(--ggmc-border-radius-md);
    transition: all var(--ggmc-transition);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.elementor-widget-ggmc-add-to-cart .ggmc-add-to-cart-btn:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

/* Price Display */
.elementor-widget-ggmc-add-to-cart .ggmc-cart-price {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
}

.elementor-widget-ggmc-add-to-cart .ggmc-cart-price .current-price {
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-add-to-cart .ggmc-cart-price .sale-price {
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-add-to-cart .ggmc-cart-price .original-price {
    color: var(--ggmc-text-light);
    font-size: 0.85em;
}

.elementor-widget-ggmc-add-to-cart .ggmc-cart-price .price-from-label {
    color: var(--ggmc-text-secondary);
    font-size: 0.8em;
    font-weight: var(--ggmc-font-weight-normal);
}

/* Quantity Wrapper */
.elementor-widget-ggmc-add-to-cart .ggmc-quantity-wrapper {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-plus);
}

.elementor-widget-ggmc-add-to-cart .ggmc-quantity-label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

/* Quantity Controls */
.elementor-widget-ggmc-add-to-cart .ggmc-quantity-controls {
    display: flex;
    align-items: center;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    overflow: hidden;
}

.elementor-widget-ggmc-add-to-cart .ggmc-quantity-input {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    border: none;
    width: 50px;
    height: 46px;
    text-align: center;
    padding: 0 8px;
}

.elementor-widget-ggmc-add-to-cart .ggmc-quantity-input:focus {
    outline: none;
    background: var(--ggmc-surface);
}

/* Plus/Minus Buttons */
.elementor-widget-ggmc-add-to-cart .ggmc-qty-minus,
.elementor-widget-ggmc-add-to-cart .ggmc-qty-plus {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
    background: var(--ggmc-surface);
    border: none;
    width: 46px;
    height: 46px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-add-to-cart .ggmc-qty-minus:hover,
.elementor-widget-ggmc-add-to-cart .ggmc-qty-plus:hover {
    background: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
}

/* Layout: Horizontal */
.elementor-widget-ggmc-add-to-cart .ggmc-add-to-cart-wrapper.horizontal {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-md-sm);
}

/* Layout: Vertical */
.elementor-widget-ggmc-add-to-cart .ggmc-add-to-cart-wrapper.vertical {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ggmc-spacing-md-sm);
}

/* Responsive */
@media (max-width: 767px) {
    .elementor-widget-ggmc-add-to-cart .ggmc-add-to-cart-btn {
        font-size: var(--ggmc-font-size-base);
        padding: 12px 20px;
    }

    .elementor-widget-ggmc-add-to-cart .ggmc-quantity-input {
        width: 40px;
        height: 40px;
    }

    .elementor-widget-ggmc-add-to-cart .ggmc-qty-minus,
    .elementor-widget-ggmc-add-to-cart .ggmc-qty-plus {
        width: 40px;
        height: 40px;
    }
}

/* Generic Add to Cart Button (for other contexts like grids) */
.ggmc-add-to-cart-btn {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    padding: 14px 24px;
    border-radius: var(--ggmc-border-radius-md);
    transition: all var(--ggmc-transition);
    cursor: pointer;
}

/* Icon color inherits from button text color */
.ggmc-add-to-cart-btn i,
.ggmc-add-to-cart-btn svg {
    color: inherit;
    fill: currentColor;
}

.ggmc-add-to-cart-btn:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

/* Variable Product Button States - shows different styling when product requires variation selection */
.ggmc-add-to-cart-btn.variation-required {
    /* Slightly different appearance to indicate action needed */
    background-color: var(--ggmc-cart-button);
    border-color: var(--ggmc-cart-button);
}

.ggmc-add-to-cart-btn.variation-required:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
}

.ggmc-add-to-cart-btn.variation-selected {
    /* Normal add to cart styling after variation is selected */
    background-color: var(--ggmc-cart-button);
    border-color: var(--ggmc-cart-button);
}

/* =================================================================
   PRODUCT NAME
   ================================================================= */
.elementor-widget-ggmc-product-name .ggmc-product-name {
    /* Typography */
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-4xl);
    font-weight: var(--ggmc-font-weight-bold);
    line-height: 1.3;
    letter-spacing: -0.02em;

    /* Color */
    color: var(--ggmc-text-primary);

    /* Spacing */
    margin: 0 0 16px 0;
    padding: 0;
}

.elementor-widget-ggmc-product-name .ggmc-product-name-link {
    color: inherit;
    text-decoration: none;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-name .ggmc-product-name-link:hover .ggmc-product-name {
    color: var(--ggmc-primary);
}

/* Responsive */
@media (max-width: 1024px) {
    .elementor-widget-ggmc-product-name .ggmc-product-name {
        font-size: var(--ggmc-font-size-3xl);
    }
}

@media (max-width: 767px) {
    .elementor-widget-ggmc-product-name .ggmc-product-name {
        font-size: var(--ggmc-font-size-2xl);
    }
}

/* =================================================================
   PRODUCT PRICE
   ================================================================= */
.elementor-widget-ggmc-product-price .product-price {
    /* Typography */
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);

    /* Spacing */
    margin: 0 0 16px 0;
}

.elementor-widget-ggmc-product-price .current-price {
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-product-price .sale-price {
    color: var(--ggmc-success);
    margin-right: 8px;
}

.elementor-widget-ggmc-product-price .original-price {
    color: var(--ggmc-text-light);
    text-decoration: line-through;
    font-size: 0.85em;
}

/* Responsive */
@media (max-width: 767px) {
    .elementor-widget-ggmc-product-price .product-price {
        font-size: var(--ggmc-font-size-2xl);
    }
}

/* =================================================================
   PRODUCT DESCRIPTION
   ================================================================= */
.elementor-widget-ggmc-product-description .ggmc-product-description {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-normal);
    line-height: 1.6;
    color: var(--ggmc-text-secondary);
    margin: 0 0 20px 0;
}

/* Headings inside description */
.elementor-widget-ggmc-product-description .ggmc-product-description h1,
.elementor-widget-ggmc-product-description .ggmc-product-description h2,
.elementor-widget-ggmc-product-description .ggmc-product-description h3,
.elementor-widget-ggmc-product-description .ggmc-product-description h4 {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-semibold);
    margin-bottom: 12px;
}

/* Links in description */
.elementor-widget-ggmc-product-description .ggmc-product-description a {
    color: var(--ggmc-primary);
    text-decoration: none;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-description .ggmc-product-description a:hover {
    color: var(--ggmc-primary-dark);
}

/* Read More / Read Less links */
.elementor-widget-ggmc-product-description .ggmc-read-more,
.elementor-widget-ggmc-product-description .ggmc-read-less {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-primary);
    text-decoration: none;
    transition: color var(--ggmc-transition);
    margin-left: 4px;
}

.elementor-widget-ggmc-product-description .ggmc-read-more:hover,
.elementor-widget-ggmc-product-description .ggmc-read-less:hover {
    color: var(--ggmc-primary-dark);
    text-decoration: underline;
}

/* Read Less appears on new line after full content */
.elementor-widget-ggmc-product-description .ggmc-description-full .ggmc-read-less {
    display: block;
    margin-left: 0;
    margin-top: 12px;
}

/* Responsive */
@media (max-width: 1024px) {
    .elementor-widget-ggmc-product-description .ggmc-product-description {
        font-size: var(--ggmc-font-size-md);
    }
}

@media (max-width: 767px) {
    .elementor-widget-ggmc-product-description .ggmc-product-description {
        font-size: var(--ggmc-font-size-base);
    }
}

/* =================================================================
   PRODUCT STOCK
   ================================================================= */
.elementor-widget-ggmc-product-stock .product-stock {
    /* Typography */
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);

    /* Container */
    display: inline-block;
    padding: 8px 12px;
    border-radius: var(--ggmc-border-radius-sm);
    margin: 0 0 16px 0;
}

.elementor-widget-ggmc-product-stock .product-stock.in-stock {
    background-color: var(--ggmc-success-light);
    color: var(--ggmc-success);
    border: 1px solid var(--ggmc-success-border);
}

.elementor-widget-ggmc-product-stock .product-stock.out-of-stock {
    background-color: var(--ggmc-error-light);
    color: var(--ggmc-error);
    border: 1px solid var(--ggmc-error-border);
}

.elementor-widget-ggmc-product-stock .product-stock.low-stock {
    background-color: var(--ggmc-warning-light);
    color: var(--ggmc-warning);
    border: 1px solid var(--ggmc-warning-border);
}

/* Responsive */
@media (max-width: 1024px) {
    .elementor-widget-ggmc-product-stock .product-stock {
        font-size: var(--ggmc-font-size-base-sm);
        padding: 6px 10px;
    }
}

@media (max-width: 767px) {
    .elementor-widget-ggmc-product-stock .product-stock {
        font-size: var(--ggmc-font-size-sm);
        padding: 5px 8px;
    }
}

/* =================================================================
   PRODUCT IMAGE
   ================================================================= */
.elementor-widget-ggmc-product-image .product-image-wrapper {
    background-color: var(--ggmc-background);
    padding: 12px;
    border-radius: var(--ggmc-border-radius-lg);
    box-shadow: var(--ggmc-shadow);
    margin: 0 0 20px 0;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-image .product-image-wrapper:hover {
    box-shadow: var(--ggmc-shadow-hover);
    transform: translateY(var(--ggmc-hover-lift));
}

.elementor-widget-ggmc-product-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--ggmc-border-radius-sm);
}

/* =================================================================
   PRODUCT GRID
   ================================================================= */

/* Grid Container */
.elementor-widget-ggmc-product-grid .ggmc-products-grid {
    display: grid;
    /* grid-template-columns controlled by widget settings */
    gap: var(--ggmc-spacing-md-plus);
    row-gap: var(--ggmc-spacing-lg-plus);
}

/* Grid Items */
.elementor-widget-ggmc-product-grid .product-grid-item {
    background: var(--ggmc-surface, #f8fafc);
    border: 1px solid var(--ggmc-border);
    padding: 10px;
    border-radius: var(--ggmc-border-radius, 8px);
    overflow: hidden;
}

.elementor-widget-ggmc-product-grid .product-grid-item img {
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-product-grid .product-content {
    padding: 10px;
}

/* Product Badges */
.elementor-widget-ggmc-product-grid .badge {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 4px 8px;
    border-radius: var(--ggmc-border-radius-sm);
    display: inline-block;
}

.elementor-widget-ggmc-product-grid .product-badges {
    display: flex;
    flex-direction: column;
    gap: var(--ggmc-spacing-xs-plus);
}

.elementor-widget-ggmc-product-grid .badge.badge-sale {
    background-color: var(--ggmc-badge-sale-bg);
    color: var(--ggmc-badge-sale-text);
}

.elementor-widget-ggmc-product-grid .badge.badge-new {
    background-color: var(--ggmc-badge-new-bg);
    color: var(--ggmc-badge-new-text);
}

.elementor-widget-ggmc-product-grid .badge.badge-featured {
    background-color: var(--ggmc-badge-featured-bg);
    color: var(--ggmc-badge-featured-text);
}

/* Product Title */
.elementor-widget-ggmc-product-grid .product-title,
.elementor-widget-ggmc-product-grid .product-title a {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    margin: 8px 0;
    text-decoration: none;
}

.elementor-widget-ggmc-product-grid .product-title a:hover {
    color: var(--ggmc-primary);
}

/* Product Rating */
.elementor-widget-ggmc-product-grid .product-rating {
    display: flex;
    align-items: center;
    margin: 8px 0;
}

.elementor-widget-ggmc-product-grid .product-rating .star {
    color: var(--ggmc-star-filled);
    font-size: var(--ggmc-font-size-lg);
}

.elementor-widget-ggmc-product-grid .product-rating .star:not(:last-child) {
    margin-right: 2px;
}

.elementor-widget-ggmc-product-grid .product-rating .star.empty {
    color: var(--ggmc-star-empty);
}

.elementor-widget-ggmc-product-grid .product-rating .rating-text {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-sm);
    margin-left: 5px;
}

/* Product Price */
.elementor-widget-ggmc-product-grid .product-price {
    margin: 8px 0;
    font-family: var(--ggmc-font-family);
}

.elementor-widget-ggmc-product-grid .product-price .current-price,
.elementor-widget-ggmc-product-grid .product-price {
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-product-grid .product-price .sale-price {
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-product-grid .product-price .original-price {
    color: var(--ggmc-text-light);
    text-decoration: line-through;
}

/* Product Description */
.elementor-widget-ggmc-product-grid .product-description {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
    margin: 8px 0;
}

.elementor-widget-ggmc-product-grid .product-description-header {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-semibold);
    margin: 12px 0 8px 0;
}

/* Product Stock Status */
.elementor-widget-ggmc-product-grid .product-stock {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    margin: 8px 0;
}

.elementor-widget-ggmc-product-grid .product-stock.in-stock {
    color: var(--ggmc-success-dark);
}

.elementor-widget-ggmc-product-grid .product-stock.low-stock {
    color: var(--ggmc-warning-dark);
}

.elementor-widget-ggmc-product-grid .product-stock.out-of-stock {
    color: var(--ggmc-error);
}

/* Details Link in Grid */
.elementor-widget-ggmc-product-grid .product-details-link .details-link {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: 12px;
    font-weight: var(--ggmc-font-weight-semibold);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-product-grid .product-details-link .details-link:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-grid .product-details-link .details-link-icon {
    font-size: 10px;
}

/* Add to Cart Button in Grid - Design Only */
.elementor-widget-ggmc-product-grid .ggmc-add-to-cart-btn {
    color: var(--ggmc-button-text);
    background-color: var(--ggmc-cart-button);
    border: 2px solid var(--ggmc-cart-button);
    padding: 8px 16px;
    border-radius: var(--ggmc-border-radius-md);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    transition: all var(--ggmc-transition);
}

/* Icon color inheritance - Design Only */
.elementor-widget-ggmc-product-grid .ggmc-add-to-cart-btn i,
.elementor-widget-ggmc-product-grid .ggmc-add-to-cart-btn svg {
    color: inherit;
    fill: currentColor;
}

.elementor-widget-ggmc-product-grid .ggmc-add-to-cart-btn:hover {
    color: var(--ggmc-cart-button);
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
}

.elementor-widget-ggmc-product-grid .ggmc-add-to-cart-btn:hover i,
.elementor-widget-ggmc-product-grid .ggmc-add-to-cart-btn:hover svg {
    color: inherit;
    fill: currentColor;
}

/* Quick View Button */
.elementor-widget-ggmc-product-grid .quick-view-btn {
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-overlay-light);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: var(--ggmc-font-size-2xl);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
    cursor: pointer;
}

.elementor-widget-ggmc-product-grid .quick-view-btn:hover {
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-overlay-light);
}

/* Wishlist Button - Design Only */
.elementor-widget-ggmc-product-grid .wishlist-btn {
    color: var(--ggmc-icon-button-text);
    background-color: var(--ggmc-icon-button-bg);
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

/* Icon color inheritance - Design Only */
.elementor-widget-ggmc-product-grid .wishlist-btn i,
.elementor-widget-ggmc-product-grid .wishlist-btn svg {
    color: inherit;
    fill: currentColor;
}

.elementor-widget-ggmc-product-grid .wishlist-btn:hover {
    color: var(--ggmc-wishlist-hover-text);
    background-color: var(--ggmc-wishlist-hover-bg);
}

.elementor-widget-ggmc-product-grid .wishlist-btn:hover i,
.elementor-widget-ggmc-product-grid .wishlist-btn:hover svg {
    color: inherit;
    fill: currentColor;
}

/* Compare Button - Design Only */
.elementor-widget-ggmc-product-grid .compare-btn {
    color: var(--ggmc-icon-button-text);
    background-color: var(--ggmc-icon-button-bg);
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

/* Icon color inheritance - Design Only */
.elementor-widget-ggmc-product-grid .compare-btn i,
.elementor-widget-ggmc-product-grid .compare-btn svg {
    color: inherit;
    fill: currentColor;
}

.elementor-widget-ggmc-product-grid .compare-btn:hover {
    color: var(--ggmc-compare-hover-text);
    background-color: var(--ggmc-compare-hover-bg);
}

.elementor-widget-ggmc-product-grid .compare-btn:hover i,
.elementor-widget-ggmc-product-grid .compare-btn:hover svg {
    color: inherit;
    fill: currentColor;
}

/* Product Categories */
.elementor-widget-ggmc-product-grid .product-categories {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ggmc-spacing-xs-plus);
    margin: 8px 0;
}

.elementor-widget-ggmc-product-grid .product-category {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-button-text);
    background: var(--ggmc-primary);
    padding: 2px 5px 2px 5px;
    border-radius: var(--ggmc-border-radius-sm);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-grid .product-category:hover {
    color: var(--ggmc-text-secondary);
    background: var(--ggmc-background);
}

/* Pagination */
.elementor-widget-ggmc-product-grid .ggmc-pagination {
    display: flex;
    gap: var(--ggmc-spacing-sm);
    justify-content: center;
    margin-top: 30px;
}

.elementor-widget-ggmc-product-grid .pagination-wrapper {
    display: flex;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-prev,
.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-next,
.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-page,
.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-current {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-pagination-text);
    background: var(--ggmc-pagination-bg);
    border: 1px solid var(--ggmc-pagination-border);
    border-style: solid;
    border-radius: var(--ggmc-border-radius-lg);
    padding: 8px 12px;
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
    cursor: pointer;
    text-decoration: none;
}

.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-prev:hover,
.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-next:hover,
.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-page:hover {
    color: var(--ggmc-pagination-hover-text);
    background: var(--ggmc-pagination-hover-bg);
    border-color: var(--ggmc-pagination-hover-bg);
}

.elementor-widget-ggmc-product-grid .ggmc-pagination .pagination-current {
    color: var(--ggmc-pagination-active-text);
    background: var(--ggmc-pagination-active-bg);
    border-color: var(--ggmc-pagination-active-bg);
}

/* Sorting Controls */
.elementor-widget-ggmc-product-grid .grid-sorting-controls {
    margin-bottom: 20px;
}

/* Dropdown Style Sorting */
.elementor-widget-ggmc-product-grid .sorting-group {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-plus);
}

.elementor-widget-ggmc-product-grid .sorting-group label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0;
}

.elementor-widget-ggmc-product-grid .grid-sort-select {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    padding: 10px 16px;
    min-width: 200px;
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-grid .grid-sort-select:hover {
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-grid .grid-sort-select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Responsive Grid - grid-template-columns controlled by widget settings */

/* Badge positioning — top/left/right/bottom controlled by Elementor badge_position_preset control */
.elementor-widget-ggmc-product-grid .product-badges {
    gap: var(--ggmc-spacing-xs, 4px);
}

/* Product Actions gap */
.elementor-widget-ggmc-product-grid .product-actions {
    gap: var(--ggmc-spacing-sm, 8px);
}

/* List Layout gaps */
.elementor-widget-ggmc-product-grid .product-grid-item.list-layout-horizontal {
    gap: var(--ggmc-spacing-lg, 24px);
}

.elementor-widget-ggmc-product-grid .product-grid-item.list-layout-compact {
    gap: var(--ggmc-spacing-md, 16px);
}

.elementor-widget-ggmc-product-grid .product-grid-item.list-layout-compact .product-content {
    gap: var(--ggmc-spacing-xs, 4px);
}

/* =================================================================
   PRODUCT GALLERY
   Note: This widget does NOT use the professional border styling.
   Structural layout is in widgets.css. Only design defaults here.
   ================================================================= */

/* Gallery Container - Typography only */
.elementor-widget-ggmc-product-gallery .ggm-product-gallery-container {
    font-family: var(--ggmc-font-family);
}

/* Main Image */
.elementor-widget-ggmc-product-gallery .ggm-main-image {
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-product-gallery .ggm-main-image img {
    border-radius: var(--ggmc-border-radius-md);
}

/* Thumbnails */
.elementor-widget-ggmc-product-gallery .ggm-gallery-thumbnail {
    border: 2px solid transparent;
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-product-gallery .ggm-gallery-thumbnail:hover,
.elementor-widget-ggmc-product-gallery .ggm-gallery-thumbnail.active {
    border-color: var(--ggmc-primary);
}

/* Navigation Buttons - shared appearance */
.elementor-widget-ggmc-product-gallery .ggm-gallery-nav {
    position: absolute;
    width: 40px;
    height: 40px;
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: 50%;
    color: var(--ggmc-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--ggmc-transition);
    z-index: 10;
}

.elementor-widget-ggmc-product-gallery .ggm-gallery-nav:hover {
    background: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
    border-color: var(--ggmc-primary);
}

/* Horizontal thumbnails (bottom/top): arrows left and right, vertically centered */
.elementor-widget-ggmc-product-gallery .thumbnails-pos-bottom .ggm-gallery-prev,
.elementor-widget-ggmc-product-gallery .thumbnails-pos-top .ggm-gallery-prev {
    top: 50%;
    transform: translateY(-50%);
    left: -20px;
}

.elementor-widget-ggmc-product-gallery .thumbnails-pos-bottom .ggm-gallery-next,
.elementor-widget-ggmc-product-gallery .thumbnails-pos-top .ggm-gallery-next {
    top: 50%;
    transform: translateY(-50%);
    right: -20px;
}

/* Vertical thumbnails (left/right): arrows top and bottom, horizontally centered */
.elementor-widget-ggmc-product-gallery .thumbnails-pos-left .ggm-gallery-prev,
.elementor-widget-ggmc-product-gallery .thumbnails-pos-right .ggm-gallery-prev {
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.elementor-widget-ggmc-product-gallery .thumbnails-pos-left .ggm-gallery-next,
.elementor-widget-ggmc-product-gallery .thumbnails-pos-right .ggm-gallery-next {
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}

/* Lightbox */
.elementor-widget-ggmc-product-gallery .ggm-gallery-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--ggmc-overlay-bg);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-image-container {
    max-width: 90%;
    max-height: 90%;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: var(--ggmc-white-10);
    border: none;
    border-radius: 50%;
    color: var(--ggmc-text-on-dark);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-close:hover {
    background: var(--ggmc-white-20);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: var(--ggmc-white-10);
    border: none;
    border-radius: 50%;
    color: var(--ggmc-text-on-dark);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-nav:hover {
    background: var(--ggmc-white-20);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-prev {
    left: 20px;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-next {
    right: 20px;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--ggmc-text-on-dark);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info {
    position: absolute;
    background: var(--ggmc-overlay-dark);
    padding: 20px;
    color: var(--ggmc-text-on-dark);
    max-width: 300px;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info.position-bottom {
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info.position-top {
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info.position-left {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info.position-right {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info .product-title {
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    margin: 0 0 10px 0;
}

.elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info .product-price {
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-primary);
}

/* Zoom Container */
.elementor-widget-ggmc-product-gallery .ggm-zoom-container {
    position: relative;
    overflow: hidden;
}

/* --- Slider Layout Styling --- */

/* Slider Navigation Arrows */
.elementor-widget-ggmc-product-gallery .ggm-slider-nav {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    color: var(--ggmc-text-secondary);
    border-radius: 50%;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-gallery .ggm-slider-nav:hover {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
}

/* Slider Dots */
.elementor-widget-ggmc-product-gallery .ggm-slider-dots {
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-gallery .ggm-slider-dot {
    width: 10px;
    height: 10px;
    background: var(--ggmc-border);
    border-radius: 50%;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-gallery .ggm-slider-dot:hover {
    background: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-gallery .ggm-slider-dot.active {
    background: var(--ggmc-primary);
    transform: scale(1.2);
}

/* Slider Slide Images */
.elementor-widget-ggmc-product-gallery .ggm-slider-slide img {
    border-radius: var(--ggmc-border-radius-md);
}

/* --- Grid Layout Styling --- */

/* Grid Container */
.elementor-widget-ggmc-product-gallery .ggm-gallery-grid {
    gap: var(--ggmc-spacing-sm-plus);
}

/* Grid Items */
.elementor-widget-ggmc-product-gallery .ggm-grid-item {
    border-radius: var(--ggmc-border-radius-md);
    overflow: hidden;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-gallery .ggm-grid-item img {
    border-radius: var(--ggmc-border-radius-md);
    transition: transform var(--ggmc-transition);
}

.elementor-widget-ggmc-product-gallery .ggm-grid-item:hover {
    box-shadow: var(--ggmc-shadow-hover);
}

.elementor-widget-ggmc-product-gallery .ggm-grid-item:hover img {
    transform: scale(1.05);
}

/* Grid hover overlay for lightbox trigger */
.elementor-widget-ggmc-product-gallery .ggm-grid-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    transition: background var(--ggmc-transition);
    pointer-events: none;
}

.elementor-widget-ggmc-product-gallery .ggm-grid-item:hover::after {
    background: var(--ggmc-black-10);
}

/* Responsive - Mobile */
@media (max-width: 767px) {
    .elementor-widget-ggmc-product-gallery .ggm-slider-nav {
        width: 32px;
        height: 32px;
    }

    .elementor-widget-ggmc-product-gallery .ggm-slider-dot {
        width: 8px;
        height: 8px;
    }

    .elementor-widget-ggmc-product-gallery .ggm-lightbox-nav {
        width: 40px;
        height: 40px;
    }

    .elementor-widget-ggmc-product-gallery .ggm-lightbox-close {
        width: 32px;
        height: 32px;
        top: 10px;
        right: 10px;
    }

    .elementor-widget-ggmc-product-gallery .ggm-lightbox-counter {
        font-size: var(--ggmc-font-size-sm);
        bottom: 15px;
    }

    .elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info {
        padding: 15px;
        max-width: 250px;
    }

    .elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info .product-title {
        font-size: var(--ggmc-font-size-lg);
    }

    .elementor-widget-ggmc-product-gallery .ggm-lightbox-product-info .product-price {
        font-size: var(--ggmc-font-size-base);
    }
}

/* =================================================================
   PRODUCT TABLE
   ================================================================= */
.elementor-widget-ggmc-product-table .ggmc-product-table-container {
    background-color: var(--ggmc-background);
    border-radius: var(--ggmc-border-radius-lg);
    overflow: hidden;
}

.elementor-widget-ggmc-product-table .ggmc-product-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: var(--ggmc-font-family);
    border: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-product-table .ggmc-product-table th {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid var(--ggmc-border);
}

.elementor-widget-ggmc-product-table .ggmc-product-table tbody tr {
    background: var(--ggmc-background);
    transition: background-color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-table .ggmc-product-table tbody tr:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-product-table .ggmc-product-table tbody tr:hover {
    background: var(--ggmc-surface-hover);
}

.elementor-widget-ggmc-product-table .ggmc-product-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
}

/* Table outer borders */
.elementor-widget-ggmc-product-table .ggmc-product-table th:first-child,
.elementor-widget-ggmc-product-table .ggmc-product-table td:first-child {
    border-left: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-product-table .ggmc-product-table th:last-child,
.elementor-widget-ggmc-product-table .ggmc-product-table td:last-child {
    border-right: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-product-table .ggmc-product-table thead tr th {
    border-top: 1px solid var(--ggmc-border);
}

/* Product Table Cell Specific Styling */
.elementor-widget-ggmc-product-table .name-cell a {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-semibold);
    text-decoration: none;
}

.elementor-widget-ggmc-product-table .name-cell a:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-table .product-sku {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-table .product-price {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-product-table .product-price .sale-price {
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-product-table .product-price .original-price {
    color: var(--ggmc-text-light);
    text-decoration: line-through;
}

.elementor-widget-ggmc-product-table .product-stock {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-product-table .product-stock.in-stock {
    color: var(--ggmc-success-dark);
}

.elementor-widget-ggmc-product-table .product-stock.low-stock {
    color: var(--ggmc-warning-dark);
}

.elementor-widget-ggmc-product-table .product-stock.out-of-stock {
    color: var(--ggmc-error);
}

/* Product Table Badges */
.elementor-widget-ggmc-product-table .badge {
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 4px 8px;
    border-radius: var(--ggmc-border-radius-sm);
    display: inline-block;
    margin-right: 4px;
}

.elementor-widget-ggmc-product-table .badge.badge-featured {
    background-color: var(--ggmc-badge-featured-bg);
    color: var(--ggmc-badge-featured-text);
}

.elementor-widget-ggmc-product-table .badge.badge-sale {
    background-color: var(--ggmc-badge-sale-bg);
    color: var(--ggmc-badge-sale-text);
}

.elementor-widget-ggmc-product-table .badge.badge-new {
    background-color: var(--ggmc-badge-new-bg);
    color: var(--ggmc-badge-new-text);
}

/* Product Table Actions Button */
.elementor-widget-ggmc-product-table .actions-cell .ggmc-add-to-cart-btn {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    padding: 8px 16px;
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-table .actions-cell .ggmc-add-to-cart-btn:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

/* Product Categories (under product name) */
.elementor-widget-ggmc-product-table .product-categories {
    margin-top: 8px;
}

.elementor-widget-ggmc-product-table .product-category {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-secondary);
    background-color: var(--ggmc-surface);
    padding: 2px 8px;
    border-radius: var(--ggmc-border-radius-sm);
    text-decoration: none;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-table .product-category:hover {
    color: var(--ggmc-primary);
    background-color: var(--ggmc-surface-hover);
}

/* Product Rating (rating column) */
.elementor-widget-ggmc-product-table .product-rating .star.filled {
    color: var(--ggmc-star-filled);
}

.elementor-widget-ggmc-product-table .product-rating .star.empty,
.elementor-widget-ggmc-product-table .product-rating .star.half {
    color: var(--ggmc-star-empty);
}

.elementor-widget-ggmc-product-table .product-rating .rating-text {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-sm);
}

/* Quick View Button (overlay on image) */
.elementor-widget-ggmc-product-table .quick-view-btn {
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-overlay-light);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: var(--ggmc-font-size-2xl);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
    cursor: pointer;
}

.elementor-widget-ggmc-product-table .quick-view-btn:hover {
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-overlay-light);
}

/* Wishlist & Compare Buttons */
.elementor-widget-ggmc-product-table .wishlist-btn,
.elementor-widget-ggmc-product-table .compare-btn {
    background-color: var(--ggmc-icon-button-bg);
    color: var(--ggmc-icon-button-text);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    padding: 8px;
    transition: all var(--ggmc-transition);
}

/* Icon color inheritance for wishlist/compare */
.elementor-widget-ggmc-product-table .wishlist-btn i,
.elementor-widget-ggmc-product-table .wishlist-btn svg,
.elementor-widget-ggmc-product-table .compare-btn i,
.elementor-widget-ggmc-product-table .compare-btn svg {
    color: inherit;
    fill: currentColor;
}

.elementor-widget-ggmc-product-table .wishlist-btn:hover {
    background-color: var(--ggmc-wishlist-hover-bg);
    color: var(--ggmc-wishlist-hover-text);
}

.elementor-widget-ggmc-product-table .wishlist-btn:hover i,
.elementor-widget-ggmc-product-table .wishlist-btn:hover svg {
    color: inherit;
    fill: currentColor;
}

.elementor-widget-ggmc-product-table .compare-btn:hover {
    background-color: var(--ggmc-compare-hover-bg);
    color: var(--ggmc-compare-hover-text);
}

.elementor-widget-ggmc-product-table .compare-btn:hover i,
.elementor-widget-ggmc-product-table .compare-btn:hover svg {
    color: inherit;
    fill: currentColor;
}

/* Row Border & Shadow */
.elementor-widget-ggmc-product-table .ggmc-product-table tbody tr {
    border: 1px solid transparent;
    box-shadow: none;
}

.elementor-widget-ggmc-product-table .ggmc-product-table tbody tr:hover {
    border-color: var(--ggmc-border);
    box-shadow: var(--ggmc-shadow);
}

/* Product Table Sorting Controls */
.elementor-widget-ggmc-product-table .table-sorting-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--ggmc-spacing-md-minus);
    margin: 16px 0;
    font-family: var(--ggmc-font-family);
}

.elementor-widget-ggmc-product-table .table-sorting-controls label {
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin: 0;
}

.elementor-widget-ggmc-product-table .table-sorting-controls select {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    padding: 8px 32px 8px 12px;
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.elementor-widget-ggmc-product-table .table-sorting-controls select:hover {
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-table .table-sorting-controls select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Product Table Pagination */
.elementor-widget-ggmc-product-table .ggmc-pagination {
    display: flex;
    gap: var(--ggmc-spacing-sm);
    justify-content: center;
    margin-top: 30px;
}

.elementor-widget-ggmc-product-table .pagination-wrapper {
    display: flex;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-prev,
.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-next,
.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-page,
.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-current {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-pagination-text);
    background: var(--ggmc-pagination-bg);
    border: 1px solid var(--ggmc-pagination-border);
    border-radius: var(--ggmc-border-radius-md);
    padding: 8px 12px;
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--ggmc-transition);
    cursor: pointer;
    text-decoration: none;
}

.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-prev:hover,
.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-next:hover,
.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-page:hover {
    color: var(--ggmc-pagination-hover-text);
    background: var(--ggmc-pagination-hover-bg);
    border-color: var(--ggmc-pagination-hover-bg);
}

.elementor-widget-ggmc-product-table .ggmc-pagination .pagination-current {
    color: var(--ggmc-pagination-active-text);
    background: var(--ggmc-pagination-active-bg);
    border-color: var(--ggmc-pagination-active-bg);
}

/* =================================================================
   CART DISPLAY
   ================================================================= */

/* Container */
.elementor-widget-ggmc-cart-display .ggmc-cart-container {
    font-family: var(--ggmc-font-family);
    background: var(--ggmc-background);
    border-radius: var(--ggmc-border-radius-lg);
}

/* Table Styles */
.elementor-widget-ggmc-cart-display .ggmc-cart-table {
    font-family: var(--ggmc-font-family);
    border: 1px solid var(--ggmc-border);
}

/* Interior cell borders */
.elementor-widget-ggmc-cart-display .ggmc-cart-table th,
.elementor-widget-ggmc-cart-display .ggmc-cart-table td {
    border-bottom: 1px solid var(--ggmc-border);
}

/* Table body cells - consistent padding for alignment */
.elementor-widget-ggmc-cart-display .ggmc-cart-table tbody td {
    padding: 14px 16px;
}

/* Table Header */
.elementor-widget-ggmc-cart-display .ggmc-cart-table th {
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 14px 16px;
}

/* Product Info */
.elementor-widget-ggmc-cart-display .product-name {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
}

.elementor-widget-ggmc-cart-display .product-name-link {
    color: inherit;
    text-decoration: none;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-cart-display .product-name-link:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-cart-display .product-price {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-cart-display .product-total {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Right-align Total column (4th column) for consistent number alignment */
.elementor-widget-ggmc-cart-display .ggmc-cart-container .ggmc-cart-table th:nth-child(4),
.elementor-widget-ggmc-cart-display .ggmc-cart-container .ggmc-cart-table td:nth-child(4) {
    text-align: right;
}

.elementor-widget-ggmc-cart-display .product-image {
    margin-right: 12px;
}

.elementor-widget-ggmc-cart-display .product-image img {
    border-radius: var(--ggmc-border-radius-md);
}

/* Quantity Controls */
.elementor-widget-ggmc-cart-display .quantity-controls {
    border-radius: var(--ggmc-border-radius-md);
    overflow: hidden;
}

.elementor-widget-ggmc-cart-display .ggmc-cart-quantity {
    background-color: var(--ggmc-background);
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    width: 50px;
    padding: 8px;
}

.elementor-widget-ggmc-cart-display .qty-minus,
.elementor-widget-ggmc-cart-display .qty-plus {
    background-color: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    width: 36px;
    height: 36px;
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-cart-display .qty-minus:hover,
.elementor-widget-ggmc-cart-display .qty-plus:hover {
    background-color: var(--ggmc-primary-dark);
}

/* Remove Button */
.elementor-widget-ggmc-cart-display .ggmc-remove-from-cart {
    background: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-bold);
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.elementor-widget-ggmc-cart-display .ggmc-remove-from-cart:hover {
    background: var(--ggmc-error);
}

/* Cart Total Footer */
.elementor-widget-ggmc-cart-display .ggmc-cart-container .cart-subtotal-row td,
.elementor-widget-ggmc-cart-display .ggmc-cart-container .cart-tax-row td,
.elementor-widget-ggmc-cart-display .ggmc-cart-container .cart-total-row td {
    padding: 16px;
    text-align: right;
}

.elementor-widget-ggmc-cart-display .ggmc-cart-container .cart-subtotal-value,
.elementor-widget-ggmc-cart-display .ggmc-cart-container .cart-tax-value {
    color: var(--ggmc-text-primary);
    text-align: right;
}

.elementor-widget-ggmc-cart-display .ggmc-cart-container .cart-total-value {
    color: var(--ggmc-text-primary);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-bold);
    text-align: right;
}

/* Action Buttons */
.elementor-widget-ggmc-cart-display .ggmc-cart-actions {
    margin-top: 24px;
}

/* Continue Shopping Button */
.elementor-widget-ggmc-cart-display .ggmc-continue-shopping-btn {
    background-color: transparent;
    color: var(--ggmc-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 14px 24px;
    border: 2px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-cart-display .ggmc-continue-shopping-btn:hover {
    background-color: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
}

/* Checkout Button */
.elementor-widget-ggmc-cart-display .ggmc-proceed-checkout-btn {
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 14px 24px;
    border: 2px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-cart-display .ggmc-proceed-checkout-btn:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

/* Empty Cart */
.elementor-widget-ggmc-cart-display .ggmc-empty-cart {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    padding: 40px 20px;
    text-align: center;
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-cart-display .ggmc-empty-cart p {
    font-size: var(--ggmc-font-size-lg);
    margin-bottom: 20px;
}

/* =================================================================
   MINI CART
   ================================================================= */

/* Widget Container */
.elementor-widget-ggmc-mini-cart .ggmc-mini-cart-widget {
    font-family: var(--ggmc-font-family);
}

/* Cart Button */
.elementor-widget-ggmc-mini-cart .mini-cart-button {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-mini-cart .mini-cart-button:hover {
    color: var(--ggmc-primary);
}

/* Cart Icon Wrapper - Button-like styling */
.elementor-widget-ggmc-mini-cart .mini-cart-icon-wrapper {
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    padding: 10px;
    border-radius: var(--ggmc-border-radius-md);
}

/* Cart Icon - Size for icon fonts */
.elementor-widget-ggmc-mini-cart .mini-cart-icon-wrapper i {
    font-size: var(--ggmc-font-size-3xl);
}

/* Cart Icon - Size for SVGs */
.elementor-widget-ggmc-mini-cart .mini-cart-icon-wrapper svg {
    width: 24px;
    height: 24px;
    fill: var(--ggmc-button-text);
}

/* Cart Icon - Hover State */
.elementor-widget-ggmc-mini-cart .mini-cart-button:hover .mini-cart-icon-wrapper {
    background-color: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-mini-cart .mini-cart-button:hover .mini-cart-icon-wrapper svg {
    fill: var(--ggmc-button-text);
}

/* Cart Count Badge - Positioned on top-right corner of icon */
.elementor-widget-ggmc-mini-cart .cart-count {
    background-color: var(--ggmc-error);
    color: var(--ggmc-button-text);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    top: -4px;
    right: -4px;
}

/* Dropdown Container */
.elementor-widget-ggmc-mini-cart .mini-cart-dropdown {
    font-family: var(--ggmc-font-family);
    background-color: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    box-shadow: var(--ggmc-shadow-hover);
    width: 320px;
}

/* Dropdown Header */
.elementor-widget-ggmc-mini-cart .mini-cart-header {
    padding: var(--ggmc-spacing-md);
    border-bottom-color: var(--ggmc-border);
}

.elementor-widget-ggmc-mini-cart .mini-cart-header h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

/* Close Button */
.elementor-widget-ggmc-mini-cart .close-mini-cart {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-3xl);
    width: 24px;
    height: 24px;
    border-radius: var(--ggmc-border-radius-sm);
}

.elementor-widget-ggmc-mini-cart .close-mini-cart:hover {
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
}

/* Cart Items Container */
.elementor-widget-ggmc-mini-cart .mini-cart-items {
    padding: var(--ggmc-spacing-md);
}

/* Cart Item */
.elementor-widget-ggmc-mini-cart .mini-cart-item {
    padding-top: var(--ggmc-spacing-sm);
    padding-bottom: var(--ggmc-spacing-sm);
    border-bottom-color: var(--ggmc-surface);
}

/* Item Image */
.elementor-widget-ggmc-mini-cart .item-image img,
.elementor-widget-ggmc-mini-cart .placeholder-image {
    width: 50px;
    height: 50px;
    border-radius: var(--ggmc-border-radius-md);
    background-color: var(--ggmc-surface);
}

.elementor-widget-ggmc-mini-cart .placeholder-image {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-2xs);
}

/* Item Name */
.elementor-widget-ggmc-mini-cart .item-details h5 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

/* Item Price & Qty */
.elementor-widget-ggmc-mini-cart .item-price-qty {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-mini-cart .item-price-qty .price {
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-medium);
}

/* Remove Item Button */
.elementor-widget-ggmc-mini-cart .remove-item {
    color: var(--ggmc-error);
    font-size: var(--ggmc-font-size-lg);
    padding: 4px;
    border-radius: var(--ggmc-border-radius-sm);
}

.elementor-widget-ggmc-mini-cart .remove-item:hover {
    background-color: var(--ggmc-error-light);
    color: var(--ggmc-error);
}

/* Cart Footer */
.elementor-widget-ggmc-mini-cart .mini-cart-footer {
    padding: var(--ggmc-spacing-md);
    border-top-color: var(--ggmc-border);
}

/* Cart Total */
.elementor-widget-ggmc-mini-cart .cart-total-display {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

/* Action Buttons - Common */
.elementor-widget-ggmc-mini-cart .cart-actions a {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    border-radius: var(--ggmc-border-radius-md);
    padding: 10px 16px;
}

/* View Cart Button (Secondary) */
.elementor-widget-ggmc-mini-cart .view-cart-btn {
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
    border-color: var(--ggmc-border);
}

.elementor-widget-ggmc-mini-cart .view-cart-btn:hover {
    background-color: var(--ggmc-surface-hover);
    color: var(--ggmc-text-primary);
}

/* Checkout Button (Primary) */
.elementor-widget-ggmc-mini-cart .checkout-btn {
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-mini-cart .checkout-btn:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

/* Empty Cart Message */
.elementor-widget-ggmc-mini-cart .empty-cart {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-style: italic;
    color: var(--ggmc-text-muted);
    text-align: center;
    padding: var(--ggmc-spacing-lg) 0;
}

/* =================================================================
   CHECKOUT
   ================================================================= */
.elementor-widget-ggmc-checkout .checkout-section {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    padding: 30px;
    box-shadow: var(--ggmc-shadow-sm);
    border-radius: var(--ggmc-border-radius-lg);
    margin-bottom: 20px;
}

/* Custom checkout fields */
.elementor-widget-ggmc-checkout .ggmc-custom-fields-row .form-group {
    margin-bottom: 15px;
}

.elementor-widget-ggmc-checkout .checkout-custom-field-inline {
    margin: 15px 0;
}

.elementor-widget-ggmc-checkout .order-summary {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    padding: 30px;
    box-shadow: var(--ggmc-shadow-sm);
    border-radius: var(--ggmc-border-radius-lg);
}

/* Sticky Order Summary */
.elementor-widget-ggmc-checkout .order-summary.is-sticky {
    position: -webkit-sticky; /* Safari support */
    position: sticky;
    top: 20px;
    z-index: 10;
}

/* Ensure sidebar stretches for sticky to work */
.elementor-widget-ggmc-checkout .checkout-sidebar {
    align-self: stretch;
}

@media (max-width: 768px) {
    .elementor-widget-ggmc-checkout .order-summary.is-sticky {
        position: relative;
        top: auto;
    }
}

.elementor-widget-ggmc-checkout .checkout-form {
    font-family: var(--ggmc-font-family);
}

.elementor-widget-ggmc-checkout .form-group {
    margin-bottom: 20px;
}

.elementor-widget-ggmc-checkout label {
    display: block;
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: 8px;
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-checkout input[type="text"],
.elementor-widget-ggmc-checkout input[type="email"],
.elementor-widget-ggmc-checkout input[type="tel"],
.elementor-widget-ggmc-checkout select,
.elementor-widget-ggmc-checkout textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-size: var(--ggmc-font-size-base);
    font-family: var(--ggmc-font-family);
    transition: border-color var(--ggmc-transition);
}

.elementor-widget-ggmc-checkout input:focus,
.elementor-widget-ggmc-checkout select:focus,
.elementor-widget-ggmc-checkout textarea:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Section Headings */
.elementor-widget-ggmc-checkout .checkout-section h3 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ggmc-border);
}

/* Order Summary Heading */
.elementor-widget-ggmc-checkout .order-summary h3 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ggmc-border);
}

/* Order Items */
.elementor-widget-ggmc-checkout .order-item {
    font-family: var(--ggmc-font-family);
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-checkout .order-item:last-child {
    border-bottom: none;
}

/* Order Item Image */
.elementor-widget-ggmc-checkout .order-item .item-image {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    margin-right: 12px;
}

.elementor-widget-ggmc-checkout .order-item .item-image img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-checkout .order-item .placeholder-image {
    width: 50px;
    height: 50px;
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--ggmc-font-size-2xs);
    color: var(--ggmc-text-muted);
}

/* Order Item Details */
.elementor-widget-ggmc-checkout .order-item .item-details {
    flex: 1;
    min-width: 0;
}

.elementor-widget-ggmc-checkout .item-name {
    display: block;
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

/* Product Name Link */
.elementor-widget-ggmc-checkout .item-name-link {
    color: var(--ggmc-text-primary);
    text-decoration: none;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-checkout .item-name-link:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-checkout .item-quantity {
    display: block;
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
    margin-top: 2px;
}

.elementor-widget-ggmc-checkout .item-price {
    flex-shrink: 0;
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin-left: 12px;
}

/* Order Totals */
.elementor-widget-ggmc-checkout .order-totals {
    font-family: var(--ggmc-font-family);
    border-top: 2px solid var(--ggmc-border);
    padding-top: 16px;
    margin-top: 16px;
}

.elementor-widget-ggmc-checkout .total-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: var(--ggmc-font-size-md);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-checkout .total-final {
    font-weight: var(--ggmc-font-weight-bold);
    font-size: var(--ggmc-font-size-xl);
    color: var(--ggmc-text-primary);
    border-top: 1px solid var(--ggmc-border);
    padding-top: 12px;
    margin-top: 8px;
}

/* Checkout Button (Primary Style) */
.elementor-widget-ggmc-checkout .checkout-button {
    display: block;
    width: 100%;
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 16px 24px;
    border: 2px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    text-align: center;
    text-transform: none;
}

.elementor-widget-ggmc-checkout .checkout-button:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
    color: var(--ggmc-button-text);
}

/* Checkout Actions Container */
.elementor-widget-ggmc-checkout .checkout-actions {
    margin-top: 24px;
}

/* Empty Cart State */
.elementor-widget-ggmc-checkout .ggmc-checkout-empty {
    font-family: var(--ggmc-font-family);
    text-align: center;
    padding: 60px 30px;
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    box-shadow: var(--ggmc-shadow-sm);
}

.elementor-widget-ggmc-checkout .ggmc-checkout-empty h3 {
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 12px 0;
}

.elementor-widget-ggmc-checkout .ggmc-checkout-empty p {
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-secondary);
    margin: 0;
}

/* Discount Code Section */
.elementor-widget-ggmc-checkout .ggmc-discount-section {
    font-family: var(--ggmc-font-family);
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-checkout .discount-toggle-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 10px 0;
    color: var(--ggmc-primary);
    font-weight: var(--ggmc-font-weight-medium);
    font-size: var(--ggmc-font-size-base);
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-checkout .discount-toggle-label:hover {
    color: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-checkout .discount-toggle-label .discount-label {
    color: inherit;
}

.elementor-widget-ggmc-checkout .discount-toggle-icon {
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-bold);
    transition: transform var(--ggmc-transition);
}

.elementor-widget-ggmc-checkout .discount-toggle-label.expanded .discount-toggle-icon {
    transform: rotate(45deg);
}

.elementor-widget-ggmc-checkout .discount-label-static {
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: 10px;
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-checkout .discount-form-container {
    margin-top: 12px;
}

.elementor-widget-ggmc-checkout .discount-form {
    display: flex;
    gap: var(--ggmc-spacing-sm-plus);
}

.elementor-widget-ggmc-checkout .discount-input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-size: var(--ggmc-font-size-base);
    font-family: var(--ggmc-font-family);
    transition: border-color var(--ggmc-transition), box-shadow var(--ggmc-transition);
}

.elementor-widget-ggmc-checkout .discount-input:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-checkout .discount-input.error {
    border-color: var(--ggmc-error);
}

.elementor-widget-ggmc-checkout .discount-apply-btn {
    padding: 12px 20px;
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    border: none;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    cursor: pointer;
    transition: background-color var(--ggmc-transition);
    white-space: nowrap;
}

.elementor-widget-ggmc-checkout .discount-apply-btn:hover {
    background-color: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-checkout .discount-apply-btn:disabled {
    background-color: var(--ggmc-text-muted);
    cursor: not-allowed;
}

/* Discount Message */
.elementor-widget-ggmc-checkout .discount-message {
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: var(--ggmc-border-radius-md);
    font-size: var(--ggmc-font-size-base-sm);
}

.elementor-widget-ggmc-checkout .discount-message.success {
    background-color: var(--ggmc-success-10);
    color: var(--ggmc-success);
    border: 1px solid var(--ggmc-success);
}

.elementor-widget-ggmc-checkout .discount-message.error {
    background-color: var(--ggmc-error-10);
    color: var(--ggmc-error);
    border: 1px solid var(--ggmc-error);
}

/* Applied Discount Display */
.elementor-widget-ggmc-checkout .discount-applied {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-md-minus);
    padding: 12px 16px;
    background-color: var(--ggmc-success-10);
    border: 1px solid var(--ggmc-success);
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-checkout .discount-code-badge {
    background-color: var(--ggmc-success);
    color: var(--ggmc-text-on-success);
    padding: 4px 10px;
    border-radius: var(--ggmc-border-radius-sm);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-widget-ggmc-checkout .discount-savings {
    flex: 1;
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-success);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-checkout .discount-remove-btn {
    background: none;
    border: none;
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-2xl);
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-checkout .discount-remove-btn:hover {
    color: var(--ggmc-error);
}

/* Discount Row in Order Totals */
.elementor-widget-ggmc-checkout .total-row.discount-row {
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-checkout .total-row.discount-row .discount-amount {
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Editor Preview Notice */
.elementor-widget-ggmc-checkout .ggmc-editor-preview-notice {
    font-family: var(--ggmc-font-family);
}

/* Preview Placeholder Image */
.elementor-widget-ggmc-checkout .preview-placeholder-image {
    border-radius: var(--ggmc-border-radius-md);
}

/* =================================================================
   CUSTOMER ACCOUNT
   ================================================================= */

/* Main Widget Container */
.elementor-widget-ggmc-customer-account .ggmc-customer-account-widget {
    font-family: var(--ggmc-font-family);
}

/* Account Dashboard */
.elementor-widget-ggmc-customer-account .ggmc-account-dashboard {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    padding: 30px;
    box-shadow: var(--ggmc-shadow);
    border-radius: var(--ggmc-border-radius-lg);
}

/* Welcome Section */
.elementor-widget-ggmc-customer-account .account-welcome {
    background: linear-gradient(135deg, var(--ggmc-surface) 0%, var(--ggmc-background) 100%);
    padding: 30px;
    border-radius: var(--ggmc-border-radius-lg);
    margin-bottom: 30px;
    text-align: center;
}

.elementor-widget-ggmc-customer-account .account-welcome h2 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-4xl);
    font-weight: var(--ggmc-font-weight-bold);
    color: var(--ggmc-text-primary);
    margin: 0 0 10px 0;
}

.elementor-widget-ggmc-customer-account .account-welcome p {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-secondary);
    margin: 0;
}

/* Tab Navigation */
.elementor-widget-ggmc-customer-account .tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .tab-nav button.tab-link {
    padding: 12px 20px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
    background: transparent;
    background-color: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: var(--ggmc-border-radius-sm) var(--ggmc-border-radius-sm) 0 0;
    margin-bottom: -2px;
    cursor: pointer;
    transition: all var(--ggmc-transition);
    text-align: center;
    box-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.4;
}

.elementor-widget-ggmc-customer-account .tab-nav button.tab-link:hover {
    color: var(--ggmc-primary);
    background: var(--ggmc-primary-light);
    background-color: var(--ggmc-primary-light);
    border-bottom-color: var(--ggmc-primary);
    box-shadow: none;
    transform: none;
}

.elementor-widget-ggmc-customer-account .tab-nav button.tab-link.active {
    color: var(--ggmc-primary);
    font-weight: var(--ggmc-font-weight-semibold);
    background: var(--ggmc-primary-light);
    background-color: var(--ggmc-primary-light);
    border-bottom-color: var(--ggmc-primary);
    box-shadow: none;
}

/* Tab Content */
.elementor-widget-ggmc-customer-account .tab-content {
    display: none;
    padding: 0;
}

.elementor-widget-ggmc-customer-account .tab-content.active {
    display: block;
}

.elementor-widget-ggmc-customer-account .tab-content h3 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
}

/* Orders Table */
.elementor-widget-ggmc-customer-account .orders-table-responsive {
    overflow-x: auto;
    margin-bottom: 20px;
}

.elementor-widget-ggmc-customer-account .orders-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--ggmc-font-family);
}

.elementor-widget-ggmc-customer-account .orders-table th {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    text-align: left;
    padding: 14px 16px;
    border-bottom: 2px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .orders-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-customer-account .orders-table tbody tr {
    transition: background-color var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .orders-table tbody tr:hover {
    background-color: var(--ggmc-surface);
}

/* Order Status Badges */
.elementor-widget-ggmc-customer-account .order-status {
    display: inline-block;
    padding: 6px 12px;
    border-radius: var(--ggmc-border-radius-sm);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-widget-ggmc-customer-account .order-status.status-pending {
    background: var(--ggmc-warning-light);
    color: var(--ggmc-warning);
}

.elementor-widget-ggmc-customer-account .order-status.status-processing {
    background: var(--ggmc-compare-hover-bg);
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-customer-account .order-status.status-completed {
    background: var(--ggmc-success-light);
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-customer-account .order-status.status-cancelled {
    background: var(--ggmc-error-light);
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-customer-account .order-status.status-refunded {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
}

/* View Order Button */
.elementor-widget-ggmc-customer-account .btn-view-order {
    background: var(--ggmc-text-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 8px 16px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-view-order:hover {
    background: var(--ggmc-primary);
    transform: translateY(var(--ggmc-hover-lift));
}

/* Order Detail View */
.elementor-widget-ggmc-customer-account .order-detail-view {
    animation: ggmcFadeIn 0.3s ease;
}

@keyframes ggmcFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.elementor-widget-ggmc-customer-account .order-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .btn-back-to-orders,
.elementor-widget-ggmc-customer-account .btn-print-invoice {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-minus);
    padding: 10px 16px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    background: var(--ggmc-background);
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-back-to-orders:hover,
.elementor-widget-ggmc-customer-account .btn-print-invoice:hover {
    background: var(--ggmc-surface);
    border-color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-customer-account .btn-print-invoice {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
}

.elementor-widget-ggmc-customer-account .btn-print-invoice:hover {
    background: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-customer-account .order-loading,
.elementor-widget-ggmc-customer-account .order-error {
    padding: 40px;
    text-align: center;
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .order-loading .spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--ggmc-border);
    border-top-color: var(--ggmc-primary);
    border-radius: 50%;
    animation: ggmcSpin 0.8s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes ggmcSpin {
    to { transform: rotate(360deg); }
}

.elementor-widget-ggmc-customer-account .order-error {
    color: var(--ggmc-error);
}

/* Order Overview */
.elementor-widget-ggmc-customer-account .order-overview {
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 24px;
    margin-bottom: 24px;
}

.elementor-widget-ggmc-customer-account .order-overview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding: 0;
    border: none;
}

.elementor-widget-ggmc-customer-account .order-overview-header h3 {
    margin: 0;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .order-overview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ggmc-spacing-lg);
}

.elementor-widget-ggmc-customer-account .order-overview-meta .meta-item {
    display: flex;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .order-overview-meta .meta-label {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-customer-account .order-overview-meta .meta-value {
    color: var(--ggmc-text-primary);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-customer-account .payment-status-paid {
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-customer-account .payment-status-pending {
    color: var(--ggmc-warning);
}

.elementor-widget-ggmc-customer-account .payment-status-failed {
    color: var(--ggmc-error);
}

/* Order Items Section */
.elementor-widget-ggmc-customer-account .order-items-section {
    margin-bottom: 24px;
}

.elementor-widget-ggmc-customer-account .order-items-section h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 16px 0;
}

.elementor-widget-ggmc-customer-account .order-items-table-wrapper {
    overflow-x: auto;
}

.elementor-widget-ggmc-customer-account .order-items-table {
    width: 100%;
    border-collapse: collapse;
}

.elementor-widget-ggmc-customer-account .order-items-table th,
.elementor-widget-ggmc-customer-account .order-items-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--ggmc-border);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-customer-account .order-items-table th {
    background: var(--ggmc-surface);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-secondary);
    text-transform: uppercase;
    font-size: var(--ggmc-font-size-sm);
    letter-spacing: 0.5px;
}

.elementor-widget-ggmc-customer-account .order-items-table .item-qty,
.elementor-widget-ggmc-customer-account .order-items-table .item-price,
.elementor-widget-ggmc-customer-account .order-items-table .item-total {
    text-align: right;
}

.elementor-widget-ggmc-customer-account .order-items-table .product-link {
    color: var(--ggmc-primary);
    text-decoration: none;
    font-weight: var(--ggmc-font-weight-medium);
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .order-items-table .product-link:hover {
    color: var(--ggmc-primary-dark);
    text-decoration: underline;
}

.elementor-widget-ggmc-customer-account .order-items-table .item-sku {
    display: block;
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
    margin-top: 4px;
}

/* Order Totals */
.elementor-widget-ggmc-customer-account .order-totals {
    margin-left: auto;
    max-width: 300px;
    margin-top: 16px;
}

.elementor-widget-ggmc-customer-account .order-totals .totals-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--ggmc-border);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-customer-account .order-totals .totals-label {
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-customer-account .order-totals .totals-value {
    color: var(--ggmc-text-primary);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-customer-account .order-totals .totals-total {
    font-weight: var(--ggmc-font-weight-bold);
    font-size: var(--ggmc-font-size-lg);
    border-bottom: 2px solid var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .order-totals .totals-total .totals-label,
.elementor-widget-ggmc-customer-account .order-totals .totals-total .totals-value {
    color: var(--ggmc-text-primary);
}

/* Order Addresses */
.elementor-widget-ggmc-customer-account .order-addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ggmc-spacing-xl);
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--ggmc-border);
}

@media (max-width: 600px) {
    .elementor-widget-ggmc-customer-account .order-addresses {
        grid-template-columns: 1fr;
    }
}

.elementor-widget-ggmc-customer-account .order-addresses h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}

.elementor-widget-ggmc-customer-account .order-addresses address {
    font-style: normal;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    line-height: 1.8;
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .order-addresses address a {
    color: var(--ggmc-primary);
    text-decoration: none;
}

.elementor-widget-ggmc-customer-account .order-addresses address a:hover {
    text-decoration: underline;
}

/* Order Notes */
.elementor-widget-ggmc-customer-account .order-notes-section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .order-notes-section h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}

.elementor-widget-ggmc-customer-account .order-notes-section p {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    line-height: 1.6;
    color: var(--ggmc-text-primary);
    margin: 0;
    padding: 16px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-md);
}

/* No Orders Message */
.elementor-widget-ggmc-customer-account .no-orders {
    text-align: center;
    padding: 40px 20px;
    color: var(--ggmc-text-muted);
    font-style: italic;
}

/* Profile Form */
.elementor-widget-ggmc-customer-account .profile-form {
    max-width: 600px;
}

.elementor-widget-ggmc-customer-account .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ggmc-spacing-md-plus);
}

.elementor-widget-ggmc-customer-account .form-group {
    margin-bottom: 20px;
}

.elementor-widget-ggmc-customer-account .form-group label {
    display: block;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: 8px;
}

.elementor-widget-ggmc-customer-account .form-group input,
.elementor-widget-ggmc-customer-account .form-group select {
    width: 100%;
    padding: 12px 16px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .form-group input::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .form-group input:focus,
.elementor-widget-ggmc-customer-account .form-group select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Update Profile Button */
.elementor-widget-ggmc-customer-account .btn-update-profile {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 14px 28px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-update-profile:hover {
    background: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

/* Address Section */
.elementor-widget-ggmc-customer-account .address-type-section {
    margin-bottom: 32px;
}

.elementor-widget-ggmc-customer-account .address-type-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .address-type-header h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0;
}

/* Add Address Button */
.elementor-widget-ggmc-customer-account .btn-add-address {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 10px 20px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-add-address:hover {
    background: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
}

/* Address List */
.elementor-widget-ggmc-customer-account .address-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--ggmc-spacing-md-plus);
}

/* Address Cards */
.elementor-widget-ggmc-customer-account .address-card {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 20px;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .address-card:hover {
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow);
}

.elementor-widget-ggmc-customer-account .address-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.elementor-widget-ggmc-customer-account .address-card-header h5 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-plus);
}

/* Default Badge */
.elementor-widget-ggmc-customer-account .badge-default {
    background: var(--ggmc-success);
    color: var(--ggmc-background);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-medium);
    padding: 4px 10px;
    border-radius: var(--ggmc-border-radius-sm);
}

/* Address Actions */
.elementor-widget-ggmc-customer-account .address-actions {
    display: flex;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .btn-edit-address,
.elementor-widget-ggmc-customer-account .btn-delete-address {
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    padding: 6px 10px;
    border-radius: var(--ggmc-border-radius-sm);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-widget-ggmc-customer-account .btn-edit-address .dashicons,
.elementor-widget-ggmc-customer-account .btn-delete-address .dashicons {
    font-size: var(--ggmc-font-size-lg);
    width: 16px;
    height: 16px;
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .btn-edit-address:hover {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-customer-account .btn-edit-address:hover .dashicons {
    color: var(--ggmc-background);
}

.elementor-widget-ggmc-customer-account .btn-delete-address:hover {
    background: var(--ggmc-error-light);
    border-color: var(--ggmc-error-border);
}

.elementor-widget-ggmc-customer-account .btn-delete-address:hover .dashicons {
    color: var(--ggmc-error);
}

/* Address Card Body */
.elementor-widget-ggmc-customer-account .address-card-body {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
    line-height: 1.6;
}

/* Address Card Footer */
.elementor-widget-ggmc-customer-account .address-card-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .btn-set-default {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-secondary);
    border: none;
    padding: 8px 16px;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-set-default:hover {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
}

/* No Addresses Message */
.elementor-widget-ggmc-customer-account .no-addresses {
    text-align: center;
    padding: 40px 20px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-customer-account .no-addresses p {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-muted);
    margin-bottom: 16px;
}

/* Account Actions (Logout) */
.elementor-widget-ggmc-customer-account .account-actions {
    text-align: center;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .btn-logout {
    display: inline-block;
    background: var(--ggmc-surface);
    color: var(--ggmc-text-secondary);
    border: 1px solid var(--ggmc-border);
    padding: 12px 24px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-logout:hover {
    background: var(--ggmc-error);
    color: var(--ggmc-background);
    border-color: var(--ggmc-error);
    text-decoration: none;
}

/* =================================================================
   LOGIN/REGISTER FORMS
   ================================================================= */

/* Auth Forms Container */
.elementor-widget-ggmc-customer-account .auth-forms-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ggmc-spacing-xl-plus);
    max-width: 900px;
    margin: 0 auto;
}

/* Form Containers */
.elementor-widget-ggmc-customer-account .login-form-container,
.elementor-widget-ggmc-customer-account .register-form-container {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 30px;
    box-shadow: var(--ggmc-shadow);
}

.elementor-widget-ggmc-customer-account .login-form-container h3,
.elementor-widget-ggmc-customer-account .register-form-container h3 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 24px 0;
    text-align: center;
}

/* Auth Form Inputs */
.elementor-widget-ggmc-customer-account .login-form .form-group,
.elementor-widget-ggmc-customer-account .register-form .form-group {
    margin-bottom: 20px;
}

.elementor-widget-ggmc-customer-account .login-form .form-group label,
.elementor-widget-ggmc-customer-account .register-form .form-group label {
    display: block;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: 8px;
}

.elementor-widget-ggmc-customer-account .login-form .form-group input,
.elementor-widget-ggmc-customer-account .register-form .form-group input {
    width: 100%;
    padding: 12px 16px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .login-form .form-group input:focus,
.elementor-widget-ggmc-customer-account .register-form .form-group input:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Checkbox in Auth Forms */
.elementor-widget-ggmc-customer-account .login-form .form-group input[type="checkbox"] {
    width: auto;
    margin-right: 8px;
    accent-color: var(--ggmc-primary);
}

/* Auth Buttons */
.elementor-widget-ggmc-customer-account .btn-login,
.elementor-widget-ggmc-customer-account .btn-register {
    width: 100%;
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 14px 24px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-login:hover,
.elementor-widget-ggmc-customer-account .btn-register:hover {
    background: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

/* =================================================================
   WISHLISTS TAB (My Account)
   ================================================================= */

/* Wishlists Header */
.elementor-widget-ggmc-customer-account .wishlists-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .wishlists-header h3 {
    margin: 0;
}

/* Create Wishlist Button */
.elementor-widget-ggmc-customer-account .btn-create-wishlist {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-xs);
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 10px 20px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-create-wishlist:hover {
    background: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
}

/* Wishlists Grid */
.elementor-widget-ggmc-customer-account .wishlists-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--ggmc-spacing-md-plus);
}

/* Wishlist Cards (mirrors address-card styling) */
.elementor-widget-ggmc-customer-account .wishlist-card {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 20px;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .wishlist-card:hover {
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow);
}

.elementor-widget-ggmc-customer-account .wishlist-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.elementor-widget-ggmc-customer-account .wishlist-card-name {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .wishlist-card-actions {
    display: flex;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .btn-edit-wishlist,
.elementor-widget-ggmc-customer-account .btn-delete-wishlist {
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    padding: 6px;
    cursor: pointer;
    color: var(--ggmc-text-muted);
    transition: all var(--ggmc-transition);
    line-height: 1;
}

.elementor-widget-ggmc-customer-account .btn-edit-wishlist .dashicons,
.elementor-widget-ggmc-customer-account .btn-delete-wishlist .dashicons {
    font-size: var(--ggmc-font-size-lg);
    width: 16px;
    height: 16px;
}

.elementor-widget-ggmc-customer-account .btn-edit-wishlist:hover {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-background);
}

.elementor-widget-ggmc-customer-account .btn-delete-wishlist:hover {
    background: var(--ggmc-error-light);
    border-color: var(--ggmc-error-border);
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-customer-account .wishlist-card-body {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-secondary);
    font-size: var(--ggmc-font-size-base);
    line-height: 1.6;
}

.elementor-widget-ggmc-customer-account .wishlist-item-count {
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .wishlist-updated {
    display: block;
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
    margin-top: 4px;
}

.elementor-widget-ggmc-customer-account .wishlist-card-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--ggmc-border);
    display: flex;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .btn-view-wishlist {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 8px 16px;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-view-wishlist:hover {
    background: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-customer-account .btn-set-default-wishlist {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-secondary);
    border: none;
    padding: 8px 16px;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-set-default-wishlist:hover {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
}

/* Wishlist Detail View */
.elementor-widget-ggmc-customer-account .wishlist-detail-header {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-md);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .btn-back-to-wishlists {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-xs);
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    padding: 8px 16px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-back-to-wishlists:hover {
    background: var(--ggmc-surface);
    border-color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-customer-account .wishlist-detail-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0;
}

/* Wishlist Detail Table */
.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table th {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-muted);
    background: var(--ggmc-surface);
    padding: 10px 12px;
    border-bottom: 1px solid var(--ggmc-border);
    letter-spacing: 0.05em;
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table td {
    padding: 12px;
    border-bottom: 1px solid var(--ggmc-border);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table tr:last-child td {
    border-bottom: none;
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-product-name {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-product-name:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-product-sku {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xs);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-original-price {
    font-size: var(--ggmc-font-size-xs);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-stock-badge.in-stock {
    color: var(--ggmc-success);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-stock-badge.out-of-stock {
    color: var(--ggmc-error);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-no-image {
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-product-image {
    border-radius: var(--ggmc-border-radius-sm);
    border: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-col-remove button {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .wishlist-col-remove button:hover {
    color: var(--ggmc-error);
    background: none;
}

/* Add to Cart button in wishlist detail table */
.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .ggmc-add-to-cart-btn {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-semibold);
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    padding: 8px 16px;
    border-radius: var(--ggmc-border-radius-sm);
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .ggmc-add-to-cart-btn:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-customer-account .ggmc-account-wishlist-table .ggmc-add-to-cart-btn:disabled {
    background-color: var(--ggmc-surface);
    border-color: var(--ggmc-border);
    color: var(--ggmc-text-muted);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Wishlist empty state in detail view */
.elementor-widget-ggmc-customer-account .ggmc-wishlist-empty {
    padding: 40px 20px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-customer-account .ggmc-wishlist-empty i {
    font-size: 48px;
    color: var(--ggmc-text-muted);
    margin-bottom: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-customer-account .ggmc-wishlist-empty p {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-muted);
    margin: var(--ggmc-spacing-xs) 0;
}

.elementor-widget-ggmc-customer-account .ggmc-wishlist-empty-hint {
    font-size: var(--ggmc-font-size-base-sm);
}

/* Empty Wishlists */
.elementor-widget-ggmc-customer-account .wishlists-empty {
    text-align: center;
    padding: 40px 20px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-customer-account .wishlists-empty p {
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-text-muted);
    margin-bottom: 16px;
}

/* =================================================================
   MY ACCOUNT MODALS (Create/Rename/Delete Wishlist, etc.)
   ================================================================= */

.elementor-widget-ggmc-customer-account .ggmc-modal-overlay {
    background: rgba(0, 0, 0, 0.5);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-content {
    background: var(--ggmc-background);
    border-radius: var(--ggmc-border-radius-lg);
    padding: var(--ggmc-spacing-lg);
    box-shadow: var(--ggmc-shadow-hover);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-header {
    padding-bottom: var(--ggmc-spacing-md);
    margin-bottom: var(--ggmc-spacing-md);
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-header h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-close {
    font-size: var(--ggmc-font-size-xl);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-close:hover {
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-body label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-body input[type="text"] {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-body input[type="text"]:focus {
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-footer {
    padding-top: var(--ggmc-spacing-md);
    margin-top: var(--ggmc-spacing-md);
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-footer .btn-cancel {
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-footer .btn-cancel:hover {
    background-color: var(--ggmc-surface-hover);
    border-color: var(--ggmc-text-muted);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-footer .btn-confirm {
    background: var(--ggmc-primary);
    border: 1px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-sm);
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-on-primary);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-footer .btn-confirm:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

/* Danger variant for delete confirmation */
.elementor-widget-ggmc-customer-account .ggmc-modal-footer .btn-confirm.btn-danger {
    background: var(--ggmc-error);
    border-color: var(--ggmc-error);
}

.elementor-widget-ggmc-customer-account .ggmc-modal-footer .btn-confirm.btn-danger:hover {
    background-color: var(--ggmc-error-dark, #b91c1c);
    border-color: var(--ggmc-error-dark, #b91c1c);
}

/* =================================================================
   BUSINESS SETTINGS TAB (My Account)
   ================================================================= */

/* Business Status Card */
.elementor-widget-ggmc-customer-account .business-status-card {
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 24px;
    margin-bottom: 30px;
}

.elementor-widget-ggmc-customer-account .business-status-card h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 16px 0;
}

.elementor-widget-ggmc-customer-account .exemption-status {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-md);
    flex-wrap: wrap;
}

.elementor-widget-ggmc-customer-account .status-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-semibold);
}

.elementor-widget-ggmc-customer-account .status-none .status-badge {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
    border: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .status-approved .status-badge {
    background: var(--ggmc-success-light);
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-customer-account .status-pending .status-badge {
    background: var(--ggmc-warning-light);
    color: var(--ggmc-warning);
}

.elementor-widget-ggmc-customer-account .status-rejected .status-badge {
    background: var(--ggmc-error-light);
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-customer-account .status-description {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
    margin: 0;
}

/* Business Form */
.elementor-widget-ggmc-customer-account .business-form {
    margin-bottom: 30px;
}

.elementor-widget-ggmc-customer-account .business-form h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-customer-account .business-form .field-description {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
    margin-top: 6px;
}

.elementor-widget-ggmc-customer-account .business-form .required {
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-customer-account .validation-notice {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
    background: var(--ggmc-warning-light);
    color: var(--ggmc-warning);
    padding: 12px 16px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    margin-bottom: 20px;
}

.elementor-widget-ggmc-customer-account .btn-update-business {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 12px 24px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .btn-update-business:hover {
    background: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
}

/* Price Display Preference Section */
.elementor-widget-ggmc-customer-account .price-preference-section {
    border-top: 1px solid var(--ggmc-border);
    padding-top: 30px;
}

.elementor-widget-ggmc-customer-account .price-preference-section h4 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 8px 0;
}

.elementor-widget-ggmc-customer-account .section-description {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
    margin: 0 0 20px 0;
}

/* Radio Button Group */
.elementor-widget-ggmc-customer-account .radio-group {
    display: flex;
    flex-direction: column;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-customer-account .radio-label {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    cursor: pointer;
    padding: 10px 16px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-customer-account .radio-label:hover {
    border-color: var(--ggmc-primary);
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-customer-account .radio-label input[type="radio"] {
    width: auto;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--ggmc-primary);
    border: none;
    box-shadow: none;
}

.elementor-widget-ggmc-customer-account .radio-label input[type="radio"]:checked + span {
    color: var(--ggmc-primary);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-customer-account .btn-update-preference {
    background: var(--ggmc-primary);
    color: var(--ggmc-background);
    border: none;
    padding: 12px 24px;
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    margin-top: 16px;
}

.elementor-widget-ggmc-customer-account .btn-update-preference:hover {
    background: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
}

/* =================================================================
   CUSTOMER ACCOUNT RESPONSIVE
   ================================================================= */
@media (max-width: 1024px) {
    .elementor-widget-ggmc-customer-account .ggmc-account-dashboard {
        padding: 20px;
    }

    .elementor-widget-ggmc-customer-account .account-welcome {
        padding: 24px;
    }

    .elementor-widget-ggmc-customer-account .account-welcome h2 {
        font-size: var(--ggmc-font-size-3xl);
    }

    .elementor-widget-ggmc-customer-account .tab-nav button.tab-link {
        padding: 10px 14px;
        font-size: var(--ggmc-font-size-base-sm);
    }

    .elementor-widget-ggmc-customer-account .address-list,
    .elementor-widget-ggmc-customer-account .wishlists-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .elementor-widget-ggmc-customer-account .ggmc-account-dashboard {
        padding: 16px;
    }

    .elementor-widget-ggmc-customer-account .account-welcome {
        padding: 20px;
    }

    .elementor-widget-ggmc-customer-account .account-welcome h2 {
        font-size: var(--ggmc-font-size-2xl);
    }

    .elementor-widget-ggmc-customer-account .account-welcome p {
        font-size: var(--ggmc-font-size-base);
    }

    .elementor-widget-ggmc-customer-account .tab-nav {
        flex-direction: column;
        border-bottom: none;
        border-left: 2px solid var(--ggmc-border);
        gap: 0;
    }

    .elementor-widget-ggmc-customer-account .tab-nav button.tab-link {
        text-align: left;
        padding: 12px 16px;
        border-bottom: none;
        border-left: 3px solid transparent;
        border-radius: 0 var(--ggmc-border-radius-sm) var(--ggmc-border-radius-sm) 0;
        margin-bottom: 0;
        margin-left: -2px;
    }

    .elementor-widget-ggmc-customer-account .tab-nav button.tab-link:hover {
        border-left-color: var(--ggmc-primary);
        border-bottom: none;
    }

    .elementor-widget-ggmc-customer-account .tab-nav button.tab-link.active {
        border-bottom: none;
        border-left-color: var(--ggmc-primary);
    }

    .elementor-widget-ggmc-customer-account .form-row {
        grid-template-columns: 1fr;
    }

    .elementor-widget-ggmc-customer-account .auth-forms-container {
        grid-template-columns: 1fr;
        gap: var(--ggmc-spacing-lg);
    }

    .elementor-widget-ggmc-customer-account .login-form-container,
    .elementor-widget-ggmc-customer-account .register-form-container {
        padding: 24px;
    }

    .elementor-widget-ggmc-customer-account .address-type-header,
    .elementor-widget-ggmc-customer-account .wishlists-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--ggmc-spacing-md-minus);
    }

    .elementor-widget-ggmc-customer-account .btn-add-address,
    .elementor-widget-ggmc-customer-account .btn-create-wishlist {
        width: 100%;
    }

    .elementor-widget-ggmc-customer-account .orders-table th,
    .elementor-widget-ggmc-customer-account .orders-table td {
        padding: 10px 12px;
        font-size: var(--ggmc-font-size-base-sm);
    }

    .elementor-widget-ggmc-customer-account .exemption-status {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =================================================================
   PRODUCT FILTER
   ================================================================= */
.elementor-widget-ggmc-product-filter .ggmc-product-filter {
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    padding: 10px;
    border-radius: var(--ggmc-border-radius-lg);
    font-family: var(--ggmc-font-family);
}

.elementor-widget-ggmc-product-filter .ggmc-product-filter .filter-title,
.elementor-widget-ggmc-product-filter .filter-group label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    display: block;
}

.elementor-widget-ggmc-product-filter .checkbox-label {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-plus);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
    cursor: pointer;
    border-radius: var(--ggmc-border-radius-sm);
    transition: all var(--ggmc-transition);
    font-weight: var(--ggmc-font-weight-normal);
}

.elementor-widget-ggmc-product-filter .checkbox-label:hover {
    color: var(--ggmc-primary);
    background: var(--ggmc-background);
}

.elementor-widget-ggmc-product-filter input[type="checkbox"] {
    accent-color: var(--ggmc-primary);
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Filter Inputs and Selects */
.elementor-widget-ggmc-product-filter input[type="number"],
.elementor-widget-ggmc-product-filter input[type="text"],
.elementor-widget-ggmc-product-filter select {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-size: var(--ggmc-font-size-base);
    font-family: var(--ggmc-font-family);
    background: var(--ggmc-background);
    color: var(--ggmc-text-primary);
    transition: border-color var(--ggmc-transition);
    width: 100%;
}

.elementor-widget-ggmc-product-filter input[type="number"]:focus,
.elementor-widget-ggmc-product-filter input[type="text"]:focus,
.elementor-widget-ggmc-product-filter select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Filter Buttons */
.elementor-widget-ggmc-product-filter .filter-apply-btn,
.elementor-widget-ggmc-product-filter .filter-reset-btn,
.elementor-widget-ggmc-product-filter .clear-all-filters {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    border: none;
    display: inline-block;
}

.elementor-widget-ggmc-product-filter .filter-apply-btn {
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
}

.elementor-widget-ggmc-product-filter .filter-apply-btn:hover {
    background-color: var(--ggmc-primary-hover);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-product-filter .filter-reset-btn,
.elementor-widget-ggmc-product-filter .clear-all-filters {
    background-color: var(--ggmc-surface-hover);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-product-filter .filter-reset-btn:hover,
.elementor-widget-ggmc-product-filter .clear-all-filters:hover {
    background-color: var(--ggmc-border);
    color: var(--ggmc-text-primary);
}

/* Search Input (Enhanced) */
.elementor-widget-ggmc-product-filter .search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.elementor-widget-ggmc-product-filter .product-search-input {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .product-search-input::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-filter .product-search-input:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-product-filter .search-clear-btn {
    position: absolute;
    right: 12px;
    color: var(--ggmc-text-muted);
    background: none;
    border: none;
    cursor: pointer;
    font-size: var(--ggmc-font-size-base);
    transition: color var(--ggmc-transition);
    padding: 4px;
}

.elementor-widget-ggmc-product-filter .search-clear-btn:hover {
    color: var(--ggmc-primary);
}

/* Checkboxes (Enhanced) */
.elementor-widget-ggmc-product-filter .checkbox-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    background: var(--ggmc-background);
    cursor: pointer;
    position: relative;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .checkbox-label input[type="checkbox"]:checked {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .checkbox-label input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: var(--ggmc-font-size-sm);
    font-weight: bold;
}

.elementor-widget-ggmc-product-filter .checkbox-label:hover input[type="checkbox"] {
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .checkbox-label {
    padding: 8px 12px;
    margin-bottom: 4px;
}

/* Select Dropdowns (Enhanced) */
.elementor-widget-ggmc-product-filter select {
    padding: 10px 35px 10px 14px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer;
}

.elementor-widget-ggmc-product-filter select:hover {
    border-color: var(--ggmc-primary);
}

/* Button Group Layout */
.elementor-widget-ggmc-product-filter .filter-buttons {
    display: flex;
    gap: var(--ggmc-spacing-md-minus);
    margin-top: 20px;
}

.elementor-widget-ggmc-product-filter .filter-apply-btn,
.elementor-widget-ggmc-product-filter .filter-reset-btn {
    padding: 10px 24px;
    flex: 1;
}

/* =================================================================
   UNIFIED RANGE SLIDERS (Price & Attribute)
   Both use jQuery UI slider - consistent styling
   ================================================================= */

/* Slider Container */
.elementor-widget-ggmc-product-filter .price-slider-container,
.elementor-widget-ggmc-product-filter .attribute-slider-container {
    padding: 10px 0;
    margin: 5px 0 0 0;
}

/* Base Slider Track (jQuery UI) */
.elementor-widget-ggmc-product-filter .price-slider,
.elementor-widget-ggmc-product-filter .attribute-slider {
    height: 6px;
    background: var(--ggmc-border, #e2e8f0);
    border-radius: var(--ggmc-border-radius-xl);
    border: none;
    position: relative;
    width: calc(100% - 18px);
    margin-left: 9px;
}

/* Selected Range Highlight */
.elementor-widget-ggmc-product-filter .price-slider .ui-slider-range,
.elementor-widget-ggmc-product-filter .attribute-slider .ui-slider-range {
    background: var(--ggmc-primary, #2563eb) !important;
    border: none !important;
    border-radius: var(--ggmc-border-radius-xl);
    height: 100%;
}

/* Slider Handles */
.elementor-widget-ggmc-product-filter .price-slider .ui-slider-handle,
.elementor-widget-ggmc-product-filter .attribute-slider .ui-slider-handle {
    width: 18px;
    height: 18px;
    background: var(--ggmc-background, #ffffff) !important;
    border: 2px solid var(--ggmc-primary, #2563eb) !important;
    border-radius: 50%;
    cursor: grab;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    top: -6px;
    margin-left: -9px;
    transition: transform var(--ggmc-transition), box-shadow var(--ggmc-transition), background-color var(--ggmc-transition);
    outline: none;
}

.elementor-widget-ggmc-product-filter .price-slider .ui-slider-handle:hover,
.elementor-widget-ggmc-product-filter .attribute-slider .ui-slider-handle:hover {
    background: var(--ggmc-primary-light, rgba(37, 99, 235, 0.1));
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    transform: scale(1.1);
}

.elementor-widget-ggmc-product-filter .price-slider .ui-slider-handle:active,
.elementor-widget-ggmc-product-filter .attribute-slider .ui-slider-handle:active {
    cursor: grabbing;
    background: var(--ggmc-primary, #2563eb);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.4);
}

.elementor-widget-ggmc-product-filter .price-slider .ui-slider-handle:focus,
.elementor-widget-ggmc-product-filter .attribute-slider .ui-slider-handle:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

/* Range Display Text (below sliders) */
.elementor-widget-ggmc-product-filter .price-display,
.elementor-widget-ggmc-product-filter .attribute-range-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary, #0f172a);
    margin-top: 12px;
}

.elementor-widget-ggmc-product-filter .price-display .price-separator,
.elementor-widget-ggmc-product-filter .attribute-range-display .attr-separator {
    color: var(--ggmc-text-muted, #6b7280);
}

.elementor-widget-ggmc-product-filter .attribute-unit {
    color: var(--ggmc-text-muted, #6b7280);
    font-size: var(--ggmc-font-size-sm);
    margin-left: 2px;
}

/* Price Input Fields */
.elementor-widget-ggmc-product-filter .price-inputs {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-md-minus);
    margin-top: 12px;
}

.elementor-widget-ggmc-product-filter .price-min-input,
.elementor-widget-ggmc-product-filter .price-max-input {
    width: 100px;
    height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .price-min-input::placeholder,
.elementor-widget-ggmc-product-filter .price-max-input::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-filter .price-min-input:focus,
.elementor-widget-ggmc-product-filter .price-max-input:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-product-filter .price-separator {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
    margin: 0 4px;
}

/* Active Filters */
.elementor-widget-ggmc-product-filter .active-filters {
    margin: 20px 0;
    padding: 16px;
    background: var(--ggmc-background-secondary);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-product-filter .active-filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.elementor-widget-ggmc-product-filter .active-filters-header .filter-label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-widget-ggmc-product-filter .clear-all-filters {
    padding: 6px 12px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-error);
    background: transparent;
    border: 1px solid var(--ggmc-error);
    border-radius: var(--ggmc-border-radius-sm);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .clear-all-filters:hover {
    color: var(--ggmc-background);
    background: var(--ggmc-error);
    border-color: var(--ggmc-error);
}

.elementor-widget-ggmc-product-filter .active-filters-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-filter .filter-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .filter-tag:hover {
    background: var(--ggmc-background-hover);
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .filter-tag-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
    cursor: pointer;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .filter-tag-close:hover {
    color: var(--ggmc-error);
}

/* Dropdown Toggle (Phase 3) */
.elementor-widget-ggmc-product-filter .dropdown-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .dropdown-toggle-btn:hover {
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-sm);
}

.elementor-widget-ggmc-product-filter .dropdown-toggle-btn.active {
    background: var(--ggmc-primary-light);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .filter-dropdown-content {
    margin-top: 8px;
    padding: 16px;
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    box-shadow: var(--ggmc-shadow-md);
    max-height: 500px;
    overflow-y: auto;
}

/* Sidebar Layout (Phase 3) */
.elementor-widget-ggmc-product-filter .filter-sidebar {
    width: 280px;
    padding: 20px;
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    box-shadow: var(--ggmc-shadow-sm);
}

.elementor-widget-ggmc-product-filter .filter-sidebar.sticky {
    position: sticky;
    top: 20px;
}

.elementor-widget-ggmc-product-filter .filter-sidebar-content {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.elementor-widget-ggmc-product-filter .filter-sidebar-content::-webkit-scrollbar {
    width: 6px;
}

.elementor-widget-ggmc-product-filter .filter-sidebar-content::-webkit-scrollbar-track {
    background: var(--ggmc-background-secondary);
    border-radius: var(--ggmc-border-radius-xl);
}

.elementor-widget-ggmc-product-filter .filter-sidebar-content::-webkit-scrollbar-thumb {
    background: var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-xl);
}

.elementor-widget-ggmc-product-filter .filter-sidebar-content::-webkit-scrollbar-thumb:hover {
    background: var(--ggmc-primary);
}

/* Horizontal Layout (Phase 3) */
.elementor-widget-ggmc-product-filter .filter-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ggmc-spacing-md);
    padding: 16px;
    background: var(--ggmc-background-secondary);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-product-filter .filter-horizontal .filter-group {
    flex: 1;
    min-width: 200px;
}

/* Filter Group Labels (Phase 4) */
.elementor-widget-ggmc-product-filter .filter-group label,
.elementor-widget-ggmc-product-filter .filter-group-label {
    display: block;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin-bottom: 12px;
}

/* Filter Group Spacing (Phase 4) */
.elementor-widget-ggmc-product-filter .filter-group {
    margin-bottom: 24px;
}

.elementor-widget-ggmc-product-filter .filter-group:last-child {
    margin-bottom: 0;
}

/* Animations (Phase 4) */
.elementor-widget-ggmc-product-filter .filter-apply-btn,
.elementor-widget-ggmc-product-filter .filter-reset-btn,
.elementor-widget-ggmc-product-filter .checkbox-label,
.elementor-widget-ggmc-product-filter .filter-tag,
.elementor-widget-ggmc-product-filter select,
.elementor-widget-ggmc-product-filter input {
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .filter-apply-btn:active {
    transform: scale(0.98);
}

.elementor-widget-ggmc-product-filter .filter-dropdown-content {
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(var(--ggmc-hover-lift));
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Attribute Filters */
.elementor-widget-ggmc-product-filter .attribute-filter-group {
    margin-bottom: var(--ggmc-spacing-lg, 24px);
}

.elementor-widget-ggmc-product-filter .attribute-filter-group:last-child {
    margin-bottom: 0;
}

.elementor-widget-ggmc-product-filter .attribute-filter-label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin-bottom: var(--ggmc-spacing-sm, 8px);
}

/* Attribute Checkboxes */
.elementor-widget-ggmc-product-filter .attribute-checkboxes {
    gap: var(--ggmc-spacing-xs, 4px);
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item {
    padding: 8px 12px;
    gap: var(--ggmc-spacing-sm-plus);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item:hover {
    color: var(--ggmc-primary);
    background: var(--ggmc-background);
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    background: var(--ggmc-background);
    cursor: pointer;
    position: relative;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item input[type="checkbox"]:checked {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--ggmc-button-text);
    font-size: var(--ggmc-font-size-sm);
    font-weight: bold;
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item:hover input[type="checkbox"] {
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item .attribute-count {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-sm);
    margin-left: auto;
}

.elementor-widget-ggmc-product-filter .attribute-checkbox-item.no-results {
    opacity: 0.5;
}

/* Attribute Dropdown */
.elementor-widget-ggmc-product-filter .attribute-dropdown {
    padding: 10px 35px 10px 14px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-background);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .attribute-dropdown:hover {
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-filter .attribute-dropdown:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Attribute Number Inputs */
.elementor-widget-ggmc-product-filter .attribute-inputs {
    gap: var(--ggmc-spacing-sm);
    margin-top: var(--ggmc-spacing-sm, 8px);
}

.elementor-widget-ggmc-product-filter .attribute-inputs input {
    height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    text-align: center;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .attribute-inputs input::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-filter .attribute-inputs input:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-product-filter .attribute-inputs .input-separator {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
    flex-shrink: 0;
}

.elementor-widget-ggmc-product-filter .attribute-inputs .unit-label {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-sm);
    flex-shrink: 0;
}

/* Price Min/Max Inputs */
.elementor-widget-ggmc-product-filter .price-inputs {
    gap: var(--ggmc-spacing-sm);
    margin-top: var(--ggmc-spacing-sm, 8px);
}

.elementor-widget-ggmc-product-filter .price-inputs input {
    height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    text-align: center;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .price-inputs input::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-filter .price-inputs input:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-product-filter .price-inputs .input-separator {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
    flex-shrink: 0;
}

.elementor-widget-ggmc-product-filter .price-inputs .currency-label {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-sm);
    flex-shrink: 0;
}

/* Attribute Filter Label with Icon */
.elementor-widget-ggmc-product-filter .attribute-filter-label i {
    font-size: 1em;
    color: var(--ggmc-text-secondary, #666);
}

.elementor-widget-ggmc-product-filter .attribute-filter-label svg {
    width: 1em;
    height: 1em;
    fill: var(--ggmc-text-secondary, #666);
}

/* Attribute Text Search */
.elementor-widget-ggmc-product-filter .attribute-text-search {
    padding: 10px 14px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-filter .attribute-text-search::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-filter .attribute-text-search:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* =================================================================
   ADDRESS FORM WIDGET
   ================================================================= */
.elementor-widget-ggmc-address-form .ggmc-address-form-wrapper {
    font-family: var(--ggmc-font-family);
}

/* Title */
.elementor-widget-ggmc-address-form .ggmc-address-form-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

/* Address Type Display */
.elementor-widget-ggmc-address-form .ggmc-address-type-display {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
    margin: 0 0 20px 0;
}

/* Form Fields */
.elementor-widget-ggmc-address-form .ggmc-form-field {
    margin-bottom: 16px;
}

.elementor-widget-ggmc-address-form .ggmc-form-field label {
    display: block;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
    margin-bottom: 6px;
}

.elementor-widget-ggmc-address-form .ggmc-form-field input,
.elementor-widget-ggmc-address-form .ggmc-form-field select {
    width: 100%;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    padding: 12px 14px;
    box-sizing: border-box;
    transition: border-color var(--ggmc-transition), box-shadow var(--ggmc-transition);
}

.elementor-widget-ggmc-address-form .ggmc-form-field input:focus,
.elementor-widget-ggmc-address-form .ggmc-form-field select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Form Rows */
.elementor-widget-ggmc-address-form .ggmc-form-row {
    display: flex;
    gap: var(--ggmc-spacing-md-sm);
    flex-wrap: wrap;
}

.elementor-widget-ggmc-address-form .ggmc-form-field-half {
    flex: 1;
    min-width: 200px;
}

.elementor-widget-ggmc-address-form .ggmc-form-field-third {
    flex: 1;
    min-width: 150px;
}

/* Checkbox Label */
.elementor-widget-ggmc-address-form .ggmc-checkbox-label {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-normal);
    color: var(--ggmc-text-secondary);
    cursor: pointer;
}

.elementor-widget-ggmc-address-form .ggmc-checkbox-label input[type="checkbox"] {
    width: auto;
    margin: 0;
}

/* Required Asterisk */
.elementor-widget-ggmc-address-form .required {
    color: var(--ggmc-error);
}

/* Form Buttons Container */
.elementor-widget-ggmc-address-form .ggmc-form-buttons {
    display: flex;
    gap: var(--ggmc-spacing-sm-plus);
    justify-content: flex-end;
    margin-top: 24px;
}

/* Primary Button (Save) */
.elementor-widget-ggmc-address-form .ggmc-form-button.primary {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-md);
    padding: 12px 24px;
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-address-form .ggmc-form-button.primary:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

/* Secondary Button (Cancel) */
.elementor-widget-ggmc-address-form .ggmc-form-button.secondary {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-medium);
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-secondary);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    padding: 12px 24px;
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-address-form .ggmc-form-button.secondary:hover {
    background-color: var(--ggmc-surface-hover);
    color: var(--ggmc-text-primary);
}

/* Responsive */
@media (max-width: 767px) {
    .elementor-widget-ggmc-address-form .ggmc-form-row {
        flex-direction: column;
    }

    .elementor-widget-ggmc-address-form .ggmc-form-field-half,
    .elementor-widget-ggmc-address-form .ggmc-form-field-third {
        min-width: 100%;
    }

    .elementor-widget-ggmc-address-form .ggmc-form-buttons {
        flex-direction: column;
    }

    .elementor-widget-ggmc-address-form .ggmc-form-button {
        width: 100%;
        text-align: center;
    }
}

/* =================================================================
   REVIEW LIST WIDGET
   ================================================================= */

/* Section Title */
.elementor-widget-ggmc-review-list .ggmc-reviews-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 24px 0;
}

/* Rating Summary Card */
.elementor-widget-ggmc-review-list .ggmc-rating-summary {
    background-color: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 24px;
    margin-bottom: 24px;
}

/* Average Rating Section */
.elementor-widget-ggmc-review-list .ggmc-average-number {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-7xl);
    font-weight: var(--ggmc-font-weight-bold);
    color: var(--ggmc-text-primary);
    line-height: 1;
}

.elementor-widget-ggmc-review-list .ggmc-average-stars {
    margin: 8px 0;
}

.elementor-widget-ggmc-review-list .ggmc-average-stars .ggmc-star {
    font-size: var(--ggmc-font-size-2xl);
}

.elementor-widget-ggmc-review-list .ggmc-total-reviews {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
}

/* Distribution Bars */
.elementor-widget-ggmc-review-list .ggmc-distribution-label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-review-list .ggmc-distribution-bar {
    height: 8px;
    background-color: var(--ggmc-gray-200);
    border-radius: var(--ggmc-border-radius-sm);
}

.elementor-widget-ggmc-review-list .ggmc-distribution-fill {
    height: 8px;
    background-color: var(--ggmc-star-filled);
    border-radius: var(--ggmc-border-radius-sm);
}

.elementor-widget-ggmc-review-list .ggmc-distribution-count {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
}

/* Review Card - Similar to Address Card */
.elementor-widget-ggmc-review-list .ggmc-review-card {
    background-color: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    padding: 20px;
    margin-bottom: 16px;
    transition: border-color var(--ggmc-transition), box-shadow var(--ggmc-transition);
}

.elementor-widget-ggmc-review-list .ggmc-review-card:hover {
    border-color: var(--ggmc-primary);
    box-shadow: 0 0 0 1px var(--ggmc-primary);
}

/* Review Stars */
.elementor-widget-ggmc-review-list .ggmc-review-stars .ggmc-star {
    font-size: var(--ggmc-font-size-lg);
}

.elementor-widget-ggmc-review-list .ggmc-star-full {
    color: var(--ggmc-star-filled);
}

.elementor-widget-ggmc-review-list .ggmc-star-empty {
    color: var(--ggmc-star-empty);
}

/* Verified Badge */
.elementor-widget-ggmc-review-list .ggmc-verified-badge {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-medium);
    background-color: var(--ggmc-success);
    color: var(--ggmc-text-on-success);
    padding: 4px 8px;
    border-radius: var(--ggmc-border-radius-sm);
}

/* Review Title */
.elementor-widget-ggmc-review-list .ggmc-review-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 12px 0 8px 0;
}

/* Review Content */
.elementor-widget-ggmc-review-list .ggmc-review-content {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    line-height: 1.6;
    color: var(--ggmc-text-secondary);
    margin-bottom: 12px;
}

/* Reviewer Info */
.elementor-widget-ggmc-review-list .ggmc-reviewer-name {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-review-list .ggmc-review-date {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-review-list .ggmc-reviewer-info::before {
    content: '';
}

.elementor-widget-ggmc-review-list .ggmc-reviewer-name + .ggmc-review-date::before {
    content: '•';
    margin: 0 6px;
    color: var(--ggmc-text-muted);
}

/* Helpful Button */
.elementor-widget-ggmc-review-list .ggmc-helpful-btn {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-muted);
    background: transparent;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    padding: 6px 12px;
}

.elementor-widget-ggmc-review-list .ggmc-helpful-btn:hover {
    background-color: var(--ggmc-surface);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-review-list .ggmc-helpful-btn.voted {
    background-color: var(--ggmc-success-light, #dcfce7);
    border-color: var(--ggmc-success, #10b981);
    color: var(--ggmc-success, #10b981);
    cursor: default;
}

.elementor-widget-ggmc-review-list .ggmc-helpful-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}

/* Load More Button */
.elementor-widget-ggmc-review-list .ggmc-load-more-reviews {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    background-color: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    border: none;
    border-radius: var(--ggmc-border-radius-md);
    padding: 12px 24px;
    margin-top: 16px;
}

.elementor-widget-ggmc-review-list .ggmc-load-more-reviews:hover {
    background-color: var(--ggmc-primary-dark);
}

/* No Reviews Message */
.elementor-widget-ggmc-review-list .ggmc-no-reviews {
    text-align: center;
    padding: 40px 20px;
    background-color: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-review-list .ggmc-no-reviews p {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-muted);
    margin: 0;
}

/* =================================================================
   PRODUCT RATING WIDGET
   ================================================================= */

/* Rating Container */
.elementor-widget-ggmc-product-rating .ggmc-product-rating {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
}

/* Stars */
.elementor-widget-ggmc-product-rating .ggmc-stars {
    display: flex;
    align-items: center;
}

.elementor-widget-ggmc-product-rating .ggmc-star {
    font-size: var(--ggmc-font-size-xl);
    line-height: 1;
}

.elementor-widget-ggmc-product-rating .ggmc-star-full,
.elementor-widget-ggmc-product-rating .ggmc-star-half {
    color: var(--ggmc-star-filled);
}

.elementor-widget-ggmc-product-rating .ggmc-star-empty {
    color: var(--ggmc-star-empty);
}

/* Rating Text */
.elementor-widget-ggmc-product-rating .ggmc-rating-text {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-rating .ggmc-rating-average {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

/* Link Styling */
.elementor-widget-ggmc-product-rating .ggmc-product-rating-link {
    text-decoration: none;
    display: inline-flex;
}

.elementor-widget-ggmc-product-rating .ggmc-product-rating-link:hover .ggmc-star-full,
.elementor-widget-ggmc-product-rating .ggmc-product-rating-link:hover .ggmc-star-half {
    color: var(--ggmc-warning-dark);
}

.elementor-widget-ggmc-product-rating .ggmc-product-rating-link:hover .ggmc-rating-text {
    color: var(--ggmc-text-primary);
}

/* =================================================================
   REVIEW FORM WIDGET
   ================================================================= */

/* Form Container */
.elementor-widget-ggmc-review-form .ggmc-review-form-wrapper {
    max-width: 100%;
}

.elementor-widget-ggmc-review-form .ggmc-review-form {
    background: var(--ggmc-background);
    padding: 24px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
}

/* Form Title */
.elementor-widget-ggmc-review-form .ggmc-review-form-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
}

/* Form Fields */
.elementor-widget-ggmc-review-form .ggmc-form-field {
    margin-bottom: 20px;
}

.elementor-widget-ggmc-review-form .ggmc-form-field label {
    display: block;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: 8px;
}

.elementor-widget-ggmc-review-form .ggmc-form-field label .required {
    color: var(--ggmc-error);
}

/* Input Fields */
.elementor-widget-ggmc-review-form .ggmc-form-field input[type="text"],
.elementor-widget-ggmc-review-form .ggmc-form-field input[type="email"],
.elementor-widget-ggmc-review-form .ggmc-form-field textarea {
    width: 100%;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-background);
    padding: 12px 16px;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    transition: border-color var(--ggmc-transition), box-shadow var(--ggmc-transition);
}

.elementor-widget-ggmc-review-form .ggmc-form-field input::placeholder,
.elementor-widget-ggmc-review-form .ggmc-form-field textarea::placeholder {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-review-form .ggmc-form-field input:focus,
.elementor-widget-ggmc-review-form .ggmc-form-field textarea:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

/* Star Rating Input */
.elementor-widget-ggmc-review-form .ggmc-star-rating-input {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-review-form .ggmc-star-rating-input .star {
    font-size: var(--ggmc-font-size-4xl);
    color: var(--ggmc-star-empty);
    cursor: pointer;
    transition: color var(--ggmc-transition), transform var(--ggmc-transition);
}

.elementor-widget-ggmc-review-form .ggmc-star-rating-input .star:hover {
    transform: scale(1.1);
}

.elementor-widget-ggmc-review-form .ggmc-star-rating-input .star.active,
.elementor-widget-ggmc-review-form .ggmc-star-rating-input .star.hover {
    color: var(--ggmc-star-filled);
}

.elementor-widget-ggmc-review-form .ggmc-rating-text {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
    margin-left: 12px;
}

/* Submit Button */
.elementor-widget-ggmc-review-form .ggmc-submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-button-text);
    background: var(--ggmc-primary);
    border: 2px solid var(--ggmc-primary);
    padding: 14px 28px;
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-review-form .ggmc-submit-review-btn:hover {
    background: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-review-form .ggmc-submit-review-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Success & Error Messages */
.elementor-widget-ggmc-review-form .ggmc-review-success {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-success);
    background: var(--ggmc-success-light);
    border: 1px solid var(--ggmc-success-border);
    padding: 16px 20px;
    border-radius: var(--ggmc-border-radius-md);
    margin-bottom: 20px;
}

.elementor-widget-ggmc-review-form .ggmc-review-error {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-error);
    background: var(--ggmc-error-light);
    border: 1px solid var(--ggmc-error-border);
    padding: 16px 20px;
    border-radius: var(--ggmc-border-radius-md);
    margin-bottom: 20px;
}

/* Notice (Already Reviewed) */
.elementor-widget-ggmc-review-form .ggmc-review-notice {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-warning);
    background: var(--ggmc-warning-light);
    border: 1px solid var(--ggmc-warning-border);
    padding: 16px 20px;
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-review-form .ggmc-review-notice p {
    margin: 0;
}

/* Login Required Message */
.elementor-widget-ggmc-review-form .ggmc-review-login-message {
    text-align: center;
    padding: 32px 24px;
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-review-form .ggmc-review-login-message p {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
    margin: 0 0 16px 0;
}

.elementor-widget-ggmc-review-form .ggmc-login-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-button-text);
    background: var(--ggmc-primary);
    padding: 10px 24px;
    border-radius: var(--ggmc-border-radius-md);
    text-decoration: none;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-review-form .ggmc-login-link:hover {
    background: var(--ggmc-primary-dark);
    color: var(--ggmc-button-text);
    transform: translateY(var(--ggmc-hover-lift));
}

/* ============================================
   TAX SUFFIX STYLING
   ============================================ */

.ggmc-tax-suffix {
    color: var(--ggmc-text-muted);
    font-size: 0.85em;
    font-weight: var(--ggmc-font-weight-normal);
    white-space: nowrap;
}

/* Tax suffix in table headers */
th .ggmc-tax-suffix {
    font-weight: var(--ggmc-font-weight-medium);
    opacity: 0.8;
}

/* ============================================
   RECENTLY VIEWED WIDGET
   ============================================ */

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 24px 0;
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-grid {
    gap: var(--ggmc-spacing-md-plus);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item:hover {
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-md);
    transform: translateY(var(--ggmc-hover-lift));
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item-image img {
    border-radius: var(--ggmc-border-radius-lg) var(--ggmc-border-radius-lg) 0 0;
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item-content {
    padding: 16px;
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item-name {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    line-height: 1.4;
    margin: 0 0 8px 0;
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item-name a {
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item-name a:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-item-price {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-bold);
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-placeholder {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-placeholder .dashicons {
    font-size: var(--ggmc-font-size-7xl);
    width: 48px;
    height: 48px;
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-empty {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
    text-align: center;
    padding: 40px 20px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-add-to-cart {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-button-text);
    background: var(--ggmc-primary);
    padding: 10px 16px;
    border-radius: var(--ggmc-border-radius-md);
    margin-top: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-recently-viewed .ggmc-recently-viewed-add-to-cart:hover {
    background: var(--ggmc-primary-dark);
}

/* =================================================================
   CUSTOM ATTRIBUTES WIDGET (Premium)
   ================================================================= */

/* Container */
.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes {
    font-family: var(--ggmc-font-family);
    overflow: hidden;
    border-radius: var(--ggmc-border-radius-lg);
}

/* Title */
.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

/* Group Headers */
.elementor-widget-ggmc-custom-attributes .ggmc-attr-group-header {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    background: var(--ggmc-surface);
    padding: 12px 16px;
    margin-top: 20px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-custom-attributes .ggmc-attr-group-header:first-of-type {
    margin-top: 0;
    border-top-left-radius: var(--ggmc-border-radius-lg);
    border-top-right-radius: var(--ggmc-border-radius-lg);
}

/* Attribute Rows - All Layouts */
.elementor-widget-ggmc-custom-attributes .ggmc-attr-row {
    transition: background-color var(--ggmc-transition);
}

/* Table Layout */
.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-list {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    overflow: hidden;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-row {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    background: var(--ggmc-background);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-row:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-row:last-child {
    border-bottom: none;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-row:hover {
    background: var(--ggmc-surface-hover);
}

.elementor-widget-ggmc-custom-attributes .ggmc-attr-name,
.elementor-widget-ggmc-product-comparison .ggmc-attr-name {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-name {
    width: 40%;
}

.elementor-widget-ggmc-custom-attributes .ggmc-attr-value,
.elementor-widget-ggmc-product-comparison .ggmc-attr-value {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-normal);
    color: var(--ggmc-text-primary);
    flex: 1;
}

.elementor-widget-ggmc-custom-attributes .ggmc-attr-unit,
.elementor-widget-ggmc-product-comparison .ggmc-attr-unit {
    font-size: 0.85em;
    color: var(--ggmc-text-muted);
    margin-left: 4px;
}

/* Icons */
.elementor-widget-ggmc-custom-attributes .ggmc-attr-icon,
.elementor-widget-ggmc-product-comparison .ggmc-attr-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    color: var(--ggmc-text-secondary);
    background: var(--ggmc-primary-light);
    border-radius: var(--ggmc-border-radius-sm);
    flex-shrink: 0;
}

.elementor-widget-ggmc-custom-attributes .ggmc-attr-icon i,
.elementor-widget-ggmc-product-comparison .ggmc-attr-icon i {
    font-size: var(--ggmc-font-size-base);
    line-height: 1;
}

.elementor-widget-ggmc-custom-attributes .ggmc-attr-icon svg,
.elementor-widget-ggmc-product-comparison .ggmc-attr-icon svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

/* List Layout */
.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-list .ggmc-attr-row {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-list .ggmc-attr-row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-list .ggmc-attr-name {
    margin-bottom: 4px;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-list .ggmc-attr-name::after {
    content: ':';
    margin-left: 2px;
}

/* Grid Layout */
.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-list {
    display: grid;
    gap: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid[data-columns="1"] .ggmc-attr-list {
    grid-template-columns: 1fr;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid[data-columns="2"] .ggmc-attr-list {
    grid-template-columns: repeat(2, 1fr);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid[data-columns="3"] .ggmc-attr-list {
    grid-template-columns: repeat(3, 1fr);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid[data-columns="4"] .ggmc-attr-list {
    grid-template-columns: repeat(4, 1fr);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-row {
    background: var(--ggmc-surface);
    padding: 16px;
    border-radius: var(--ggmc-border-radius-lg);
    border: 1px solid var(--ggmc-border);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-row:hover {
    border-color: var(--ggmc-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(var(--ggmc-hover-lift));
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-name {
    display: flex;
    align-items: center;
    font-size: var(--ggmc-font-size-base-sm);
    margin-bottom: 8px;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-value {
    display: block;
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-icon {
    width: 24px;
    height: 24px;
    margin-right: 8px;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-icon i {
    font-size: var(--ggmc-font-size-sm);
}

/* Inline Layout */
.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ggmc-spacing-md-minus) var(--ggmc-spacing-lg);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-row {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-minus);
    padding: 8px 14px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-md);
    border: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-row:hover {
    border-color: var(--ggmc-primary);
    background: var(--ggmc-background);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-name {
    font-size: var(--ggmc-font-size-base-sm);
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-name::after {
    content: ':';
    margin-left: 2px;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-icon {
    width: 22px;
    height: 22px;
    margin-right: 6px;
}

.elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-icon i {
    font-size: var(--ggmc-font-size-xs);
}

/* No Attributes Message */
.elementor-widget-ggmc-custom-attributes .ggmc-no-attributes {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
    text-align: center;
    padding: 40px 20px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
    border: 1px dashed var(--ggmc-border);
}

/* Responsive - Grid Layout */
@media (max-width: 768px) {
    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid[data-columns="3"] .ggmc-attr-list,
    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid[data-columns="4"] .ggmc-attr-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-grid .ggmc-attr-list {
        grid-template-columns: 1fr !important;
    }

    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-row {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--ggmc-spacing-sm-minus);
    }

    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-table .ggmc-attr-name {
        width: 100%;
    }

    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-list {
        gap: var(--ggmc-spacing-sm);
    }

    .elementor-widget-ggmc-custom-attributes .ggmc-custom-attributes.layout-inline .ggmc-attr-row {
        flex: 1 1 100%;
    }
}

/* ========================================
   Kit Contents Widget (Premium)
   ======================================== */

/* Container */
.elementor-widget-ggmc-kit-contents .ggmc-kit-contents {
    font-family: var(--ggmc-font-family);
}

/* Title */
.elementor-widget-ggmc-kit-contents .ggmc-kit-contents-title {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xl);
    font-weight: var(--ggmc-font-weight-semibold);
    margin: 0 0 var(--ggmc-spacing-lg) 0;
    padding: 0;
}

/* Component Items - List Layout */
.elementor-widget-ggmc-kit-contents .ggmc-components-list {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    overflow: hidden;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-item {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-md);
    padding: 14px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    background: var(--ggmc-background);
    transition: background-color var(--ggmc-transition);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-item:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-item:last-child {
    border-bottom: none;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-item:hover {
    background: var(--ggmc-surface-hover);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-image {
    flex-shrink: 0;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-details {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
    flex: 1;
    min-width: 0;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-list .ggmc-component-name {
    flex: 1;
}

/* Component Items - Grid Layout */
.elementor-widget-ggmc-kit-contents .ggmc-components-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-grid .ggmc-component-item {
    text-align: center;
    padding: var(--ggmc-spacing-md);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-grid .ggmc-component-item:hover {
    border-color: var(--ggmc-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(var(--ggmc-hover-lift));
}

.elementor-widget-ggmc-kit-contents .ggmc-components-grid .ggmc-component-image {
    margin-bottom: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-grid .ggmc-component-details {
    display: flex;
    flex-direction: column;
    gap: var(--ggmc-spacing-xs);
}

/* Component Items - Table Layout */
.elementor-widget-ggmc-kit-contents .ggmc-components-table {
    width: 100%;
    border-collapse: collapse;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table th,
.elementor-widget-ggmc-kit-contents .ggmc-components-table td {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    text-align: left;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table th {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
    background: var(--ggmc-background);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table tbody tr:hover {
    background: var(--ggmc-background);
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table .col-image {
    width: 60px;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table .col-qty {
    width: 60px;
    text-align: center;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table .col-price {
    width: 100px;
    text-align: right;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table td.ggmc-component-qty {
    text-align: center;
}

.elementor-widget-ggmc-kit-contents .ggmc-components-table td.ggmc-component-price {
    text-align: right;
}

/* Component Elements */
.elementor-widget-ggmc-kit-contents .ggmc-component-image img {
    display: block;
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: var(--ggmc-border-radius-sm);
    border: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-kit-contents .ggmc-component-name {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-kit-contents .ggmc-component-name a {
    color: inherit;
    text-decoration: none;
    transition: color var(--ggmc-transition);
}

.elementor-widget-ggmc-kit-contents .ggmc-component-name a:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-kit-contents .ggmc-component-qty {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    min-width: 40px;
    text-align: right;
    flex-shrink: 0;
}

.elementor-widget-ggmc-kit-contents .ggmc-component-price {
    color: var(--ggmc-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
}

/* Empty State */
.elementor-widget-ggmc-kit-contents .ggmc-no-components {
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-style: italic;
    text-align: center;
    padding: var(--ggmc-spacing-lg);
}

/* Responsive - Grid Layout */
@media (max-width: 480px) {
    .elementor-widget-ggmc-kit-contents .ggmc-components-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .elementor-widget-ggmc-kit-contents .ggmc-components-table th,
    .elementor-widget-ggmc-kit-contents .ggmc-components-table td {
        padding: var(--ggmc-spacing-xs) var(--ggmc-spacing-sm);
        font-size: var(--ggmc-font-size-base-sm);
    }

    .elementor-widget-ggmc-kit-contents .ggmc-components-table .col-image {
        display: none;
    }

    .elementor-widget-ggmc-kit-contents .ggmc-components-table td.ggmc-component-image {
        display: none;
    }
}

/* =================================================================
   Product Attributes Widget (Standard)
   ================================================================= */

/* Container */
.elementor-widget-ggmc-product-attributes .ggmc-product-attributes {
    font-family: var(--ggmc-font-family);
    overflow: hidden;
}

/* Labels */
.elementor-widget-ggmc-product-attributes .attribute-label {
    color: var(--ggmc-text-secondary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
}

/* Values */
.elementor-widget-ggmc-product-attributes .attribute-value {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-normal);
}

/* Unit (e.g. "kg", "cm") */
.elementor-widget-ggmc-product-attributes .attribute-unit {
    color: var(--ggmc-text-muted);
}

/* --- Table Layout (div-based) --- */
.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-table .ggmc-attr-list {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    overflow: hidden;
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-table .ggmc-attr-row {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    background: var(--ggmc-background);
    transition: background-color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-table .ggmc-attr-row:last-child {
    border-bottom: none;
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-table .ggmc-attr-row:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-table .ggmc-attr-row:hover {
    background: var(--ggmc-surface-hover);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-table .attribute-label {
    width: 40%;
    flex-shrink: 0;
}

/* --- List Layout (div-based) --- */
.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-list .ggmc-attr-list {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    overflow: hidden;
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-list .ggmc-attr-row {
    display: flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
    padding: 14px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    background: var(--ggmc-background);
    transition: background-color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-list .ggmc-attr-row:last-child {
    border-bottom: none;
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-list .ggmc-attr-row:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-list .ggmc-attr-row:hover {
    background: var(--ggmc-surface-hover);
}

/* --- Inline Layout --- */
.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-inline .ggmc-attr-inline {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ggmc-spacing-md);
    align-items: center;
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-inline .separator {
    color: var(--ggmc-text-light);
}

/* --- Grid Layout --- */
.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-grid .ggmc-attr-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-grid .ggmc-attr-item {
    padding: var(--ggmc-spacing-md);
    background: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    transition: background-color var(--ggmc-transition), border-color var(--ggmc-transition);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-grid .ggmc-attr-item:hover {
    background: var(--ggmc-surface-hover);
    border-color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-grid .attribute-label {
    display: block;
    margin-bottom: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-grid .attribute-value {
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Responsive */
@media (max-width: 480px) {
    .elementor-widget-ggmc-product-attributes .ggmc-product-attributes.layout-grid .ggmc-attr-grid {
        grid-template-columns: 1fr;
    }
}

/* =================================================================
   PRODUCT TAGS WIDGET
   ================================================================= */

/* Container */
.elementor-widget-ggmc-product-tags .ggmc-product-tags {
    font-family: var(--ggmc-font-family);
}

/* Label */
.elementor-widget-ggmc-product-tags .ggmc-tags-label {
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-muted);
    margin-right: var(--ggmc-spacing-sm);
}

/* Tag Links - All Layouts */
.elementor-widget-ggmc-product-tags .ggmc-tag-link {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-success);
    text-decoration: none;
}

.elementor-widget-ggmc-product-tags .ggmc-tag-link:hover {
    color: var(--ggmc-success-dark, #047857);
    text-decoration: underline;
}

/* Badges Layout */
.elementor-widget-ggmc-product-tags .ggmc-tags-badges {
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-tags .ggmc-tags-badges .ggmc-tag-link {
    background: var(--ggmc-success-light, #ecfdf5);
    color: var(--ggmc-success);
    padding: 4px 12px;
    border-radius: var(--ggmc-border-radius-2xl);
    border: 1px solid transparent;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-tags .ggmc-tags-badges .ggmc-tag-link:hover {
    background: var(--ggmc-success);
    color: var(--ggmc-text-on-success);
    border-color: var(--ggmc-success);
    text-decoration: none;
}

/* List Layout */
.elementor-widget-ggmc-product-tags .ggmc-tags-list .ggmc-tag-item {
    margin-bottom: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-tags .ggmc-tags-list .ggmc-tag-item:last-child {
    margin-bottom: 0;
}

/* Icon */
.elementor-widget-ggmc-product-tags .ggmc-tag-icon {
    margin-right: 4px;
    font-size: var(--ggmc-font-size-sm);
}

/* =================================================================
   PRODUCT CATEGORIES WIDGET
   ================================================================= */

/* Container */
.elementor-widget-ggmc-product-categories .ggmc-product-categories {
    font-family: var(--ggmc-font-family);
}

/* Label */
.elementor-widget-ggmc-product-categories .ggmc-categories-label {
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-muted);
    margin-right: var(--ggmc-spacing-sm);
}

/* Category Links - All Layouts */
.elementor-widget-ggmc-product-categories .ggmc-category-link {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-primary);
    text-decoration: none;
}

.elementor-widget-ggmc-product-categories .ggmc-category-link:hover {
    color: var(--ggmc-primary-dark);
    text-decoration: underline;
}

/* Badges Layout */
.elementor-widget-ggmc-product-categories .ggmc-categories-badges {
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-categories .ggmc-categories-badges .ggmc-category-link {
    background: var(--ggmc-primary-light, #eff6ff);
    color: var(--ggmc-primary);
    padding: 4px 12px;
    border-radius: var(--ggmc-border-radius-2xl);
    border: 1px solid transparent;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-categories .ggmc-categories-badges .ggmc-category-link:hover {
    background: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
    border-color: var(--ggmc-primary);
    text-decoration: none;
}

/* List Layout */
.elementor-widget-ggmc-product-categories .ggmc-categories-list .ggmc-category-item {
    margin-bottom: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-product-categories .ggmc-categories-list .ggmc-category-item:last-child {
    margin-bottom: 0;
}

/* Category Image */
.elementor-widget-ggmc-product-categories .ggmc-category-image {
    width: 32px;
    height: 32px;
    border-radius: var(--ggmc-border-radius-sm);
    margin-right: var(--ggmc-spacing-sm);
}

/* =================================================================
   PRODUCT STOCK WIDGET
   ================================================================= */

/* Container */
.elementor-widget-ggmc-product-stock .ggmc-product-stock {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    padding: 8px 12px;
    border-radius: var(--ggmc-border-radius-sm);
    transition: all var(--ggmc-transition);
}

/* In Stock State */
.elementor-widget-ggmc-product-stock .ggmc-product-stock.in-stock {
    color: var(--ggmc-success);
    background: var(--ggmc-success-light, #f0fdf4);
    border: 1px solid var(--ggmc-success-border);
}

/* Low Stock State */
.elementor-widget-ggmc-product-stock .ggmc-product-stock.low-stock {
    color: var(--ggmc-warning);
    background: var(--ggmc-warning-light);
    border: 1px solid var(--ggmc-warning-border);
}

/* Out of Stock State */
.elementor-widget-ggmc-product-stock .ggmc-product-stock.out-of-stock {
    color: var(--ggmc-error);
    background: var(--ggmc-error-light);
    border: 1px solid var(--ggmc-error-border);
}

/* Icon - inherits color from parent state */
.elementor-widget-ggmc-product-stock .ggmc-stock-icon {
    font-size: var(--ggmc-font-size-lg);
    width: 16px;
    height: 16px;
}

.elementor-widget-ggmc-product-stock .ggmc-stock-icon i {
    color: inherit;
}

.elementor-widget-ggmc-product-stock .ggmc-stock-icon svg {
    fill: currentColor;
    width: 1em;
    height: 1em;
}

/* =================================================================
   ORDER CONFIRMATION WIDGET
   Professional invoice-style styling for Thank You page
   ================================================================= */
.elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation {
    max-width: 800px;
    margin: 0 auto;
    background: var(--ggmc-background, #ffffff);
    border-radius: var(--ggmc-border-radius-lg, 8px);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    overflow: hidden;
}

/* Success Header - Invoice Style */
.elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-header {
    text-align: center;
    padding: 40px 30px;
    background: linear-gradient(135deg, var(--ggmc-success-light, #d1fae5) 0%, var(--ggmc-success-lighter, #ecfdf5) 100%);
    border-bottom: 2px solid var(--ggmc-success, #059669);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: var(--ggmc-success, #059669);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px var(--ggmc-success-shadow, rgba(5, 150, 105, 0.3));
    color: var(--ggmc-text-on-success, #ffffff);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-icon svg {
    width: 40px;
    height: 40px;
    stroke: currentColor;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-title {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-4xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary, #1f2937);
    margin: 0 0 10px;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-message {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-secondary, #6b7280);
    margin: 0;
    line-height: 1.6;
}

/* Order Overview - Compact Single Line */
.elementor-widget-ggmc-order-confirmation .ggmc-order-overview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ggmc-spacing-md-sm);
    padding: 12px 20px;
    background: var(--ggmc-surface, #f9fafb);
    border-bottom: 1px solid var(--ggmc-border, #e5e7eb);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-meta-item {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-minus);
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-meta-label {
    display: none;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-meta-value {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary, #1f2937);
}

/* Order Details Sections */
.elementor-widget-ggmc-order-confirmation .ggmc-order-details-section {
    padding: 25px 30px;
    border-bottom: 1px solid var(--ggmc-border, #e5e7eb);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-details-section:last-child {
    border-bottom: none;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-section-title {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary, #1f2937);
    margin: 0 0 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--ggmc-primary, #2563eb);
    display: inline-block;
}

/* Order Items Table - Invoice Style */
.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table {
    width: 100%;
    border-collapse: collapse;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table thead th {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-on-dark, #ffffff);
    background: var(--ggmc-primary-dark, #1e3a5f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
    padding: 14px 16px;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table thead th:first-child {
    border-radius: var(--ggmc-border-radius-md) 0 0 0;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table thead th:last-child {
    text-align: right;
    border-radius: 0 6px 0 0;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table thead th.text-center {
    text-align: center;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table thead th.text-right {
    text-align: right;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table tbody td {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary, #1f2937);
    padding: 12px 16px;
    border-bottom: 1px solid var(--ggmc-border, #e5e7eb);
    vertical-align: top;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table tbody tr:nth-child(even) {
    background: var(--ggmc-surface, #f9fafb);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table tbody tr:last-child td {
    border-bottom: 2px solid var(--ggmc-primary-dark, #1e3a5f);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table td.text-center {
    text-align: center;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table td.text-right {
    text-align: right;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table td:last-child {
    text-align: right;
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-order-confirmation .ggmc-item-image {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: var(--ggmc-border-radius-sm);
    margin-right: 15px;
    vertical-align: middle;
}

.elementor-widget-ggmc-order-confirmation .ggmc-item-quantity {
    color: var(--ggmc-text-muted, #6b7280);
    font-size: var(--ggmc-font-size-base-sm);
}

/* Order Totals - Invoice Style */
.elementor-widget-ggmc-order-confirmation .ggmc-order-totals {
    background: var(--ggmc-surface, #f9fafb);
    border-radius: var(--ggmc-border-radius-md);
    padding: 20px;
    max-width: 320px;
    margin-left: auto;
}

.elementor-widget-ggmc-order-confirmation .ggmc-totals-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-order-confirmation .ggmc-totals-label {
    color: var(--ggmc-text-secondary, #6b7280);
}

.elementor-widget-ggmc-order-confirmation .ggmc-totals-value {
    color: var(--ggmc-text-primary, #1f2937);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-order-confirmation .ggmc-totals-row.ggmc-totals-total {
    margin-top: 10px;
    padding-top: 15px;
    border-top: 2px solid var(--ggmc-border, #e5e7eb);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-bold);
}

.elementor-widget-ggmc-order-confirmation .ggmc-totals-row.ggmc-totals-total .ggmc-totals-label {
    color: var(--ggmc-text-primary, #1f2937);
}

.elementor-widget-ggmc-order-confirmation .ggmc-totals-row.ggmc-totals-total .ggmc-totals-value {
    color: var(--ggmc-primary, #2563eb);
}

/* Addresses Section - Invoice Style */
.elementor-widget-ggmc-order-confirmation .ggmc-order-addresses {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ggmc-spacing-lg);
    padding: 0;
}

.elementor-widget-ggmc-order-confirmation .ggmc-address-section {
    background: var(--ggmc-surface, #f9fafb);
    border-radius: var(--ggmc-border-radius-md);
    padding: 20px;
}

.elementor-widget-ggmc-order-confirmation .ggmc-address-section .ggmc-order-section-title {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-primary, #2563eb);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 12px;
    padding-bottom: 0;
    border-bottom: none;
}

.elementor-widget-ggmc-order-confirmation .ggmc-address {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-base);
    font-style: normal;
    color: var(--ggmc-text-primary, #1f2937);
    line-height: 1.7;
}

.elementor-widget-ggmc-order-confirmation .ggmc-address strong {
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Continue Shopping Button / Order Actions */
.elementor-widget-ggmc-order-confirmation .ggmc-order-actions {
    padding: 30px;
    text-align: center;
    background: var(--ggmc-surface, #f9fafb);
    border-radius: 0 0 8px 8px;
}

.elementor-widget-ggmc-order-confirmation .ggmc-continue-shopping-btn {
    display: inline-block;
    padding: 14px 40px;
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-md);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-on-primary, #ffffff);
    background: var(--ggmc-primary, #2563eb);
    border: none;
    border-radius: var(--ggmc-border-radius-md);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--ggmc-transition);
    box-shadow: 0 4px 14px var(--ggmc-primary-shadow, rgba(37, 99, 235, 0.25));
}

.elementor-widget-ggmc-order-confirmation .ggmc-continue-shopping-btn:hover {
    background: var(--ggmc-primary-hover, #1d4ed8);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: 0 6px 20px var(--ggmc-primary-shadow-hover, rgba(37, 99, 235, 0.4));
    color: var(--ggmc-text-on-primary, #ffffff);
    text-decoration: none;
}

/* No Order Found State */
.elementor-widget-ggmc-order-confirmation .ggmc-order-not-found {
    text-align: center;
    padding: 60px 30px;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-not-found-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: var(--ggmc-error-light, #fef2f2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ggmc-error, #dc2626);
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-not-found-icon svg {
    width: 40px;
    height: 40px;
    stroke: currentColor;
}

.elementor-widget-ggmc-order-confirmation .ggmc-order-not-found-message {
    font-family: var(--ggmc-font-family, system-ui, -apple-system, sans-serif);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-secondary, #6b7280);
    margin: 0 0 25px;
}

/* Responsive */
@media (max-width: 768px) {
    .elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-header {
        padding: 30px 20px;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-confirmation-title {
        font-size: var(--ggmc-font-size-3xl);
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-overview {
        padding: 10px 15px;
        gap: var(--ggmc-spacing-sm-plus);
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-meta-item {
        flex: 0 0 auto;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-details-section {
        padding: 20px;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-items-table thead th:nth-child(3),
    .elementor-widget-ggmc-order-confirmation .ggmc-order-items-table tbody td:nth-child(3) {
        display: none;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-addresses {
        grid-template-columns: 1fr;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-totals {
        max-width: 100%;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-order-actions {
        padding: 25px 20px;
    }

    .elementor-widget-ggmc-order-confirmation .ggmc-continue-shopping-btn {
        width: 100%;
        padding: 16px 30px;
    }
}

/* =================================================================
   VARIATION DISPLAY STYLES (GLOBAL)
   Used across mini-cart, cart, checkout, order confirmation, etc.
   ================================================================= */

/* Item variation display */
.item-variation,
.product-variation,
.ggmc-item-variation {
    display: block;
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted, #6b7280);
    font-style: italic;
    margin-top: 2px;
}

/* Mini cart variation */
.ggmc-mini-cart-widget .item-variation {
    font-size: var(--ggmc-font-size-xs);
    line-height: 1.3;
    margin-top: 2px;
    margin-bottom: 4px;
}

/* Cart display variation */
.ggmc-cart-container .product-variation {
    font-size: var(--ggmc-font-size-sm);
    line-height: 1.4;
    margin-top: 4px;
}

/* Checkout order summary variation */
.order-summary .item-variation {
    display: block;
    font-size: var(--ggmc-font-size-xs);
    line-height: 1.3;
    margin-top: 2px;
    margin-bottom: 2px;
}

/* Order confirmation variation */
.elementor-widget-ggmc-order-confirmation .ggmc-item-variation {
    display: block;
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted, #6b7280);
    font-style: italic;
    margin-top: 2px;
    margin-bottom: 2px;
}

/* Order confirmation item name container */
.elementor-widget-ggmc-order-confirmation .ggmc-order-items-table td:first-child {
    vertical-align: top;
}

.elementor-widget-ggmc-order-confirmation .ggmc-item-name {
    display: block;
    font-weight: var(--ggmc-font-weight-semibold, 600);
}

.elementor-widget-ggmc-order-confirmation .ggmc-item-sku {
    display: block;
    font-size: var(--ggmc-font-size-xs);
    color: var(--ggmc-text-muted, #6b7280);
    margin-top: 2px;
}

/* Wishlist Icon Widget - Design */
.elementor-widget-ggmc-wishlist-icon .ggmc-wishlist-icon {
    color: var(--ggmc-icon-button-text);
    background-color: var(--ggmc-icon-button-bg);
    font-family: var(--ggmc-font-family);
    padding: var(--ggmc-spacing-sm);
    border-radius: var(--ggmc-border-radius-md);
    border: 1px solid var(--ggmc-border);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-wishlist-icon .ggmc-wishlist-icon:hover {
    color: var(--ggmc-wishlist-hover-text);
    background-color: var(--ggmc-wishlist-hover-bg);
    border-color: var(--ggmc-wishlist-hover-text);
}

.elementor-widget-ggmc-wishlist-icon .ggmc-wishlist-count-badge {
    background-color: var(--ggmc-wishlist-hover-text);
    color: var(--ggmc-text-on-primary);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Compare Icon Widget - Design */
.elementor-widget-ggmc-compare-icon .ggmc-compare-icon {
    color: var(--ggmc-icon-button-text);
    background-color: var(--ggmc-icon-button-bg);
    font-family: var(--ggmc-font-family);
    padding: var(--ggmc-spacing-sm);
    border-radius: var(--ggmc-border-radius-md);
    border: 1px solid var(--ggmc-border);
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-compare-icon .ggmc-compare-icon:hover {
    color: var(--ggmc-compare-hover-text);
    background-color: var(--ggmc-compare-hover-bg);
    border-color: var(--ggmc-compare-hover-text);
}

.elementor-widget-ggmc-compare-icon .ggmc-compare-count-badge {
    background-color: var(--ggmc-compare-hover-text);
    color: var(--ggmc-text-on-primary);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Floating Comparison Bar - Design Colors */
.ggmc-compare-bar {
    background: linear-gradient(135deg, var(--ggmc-compare-bar-gradient-start) 0%, var(--ggmc-compare-bar-gradient-end) 100%);
    font-family: var(--ggmc-font-family);
    color: var(--ggmc-compare-bar-text);
    border-radius: var(--ggmc-compare-bar-radius);
}

.ggmc-compare-bar-btn {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
}

.ggmc-compare-now-btn {
    background-color: var(--ggmc-compare-bar-btn-bg);
    color: var(--ggmc-compare-bar-btn-text);
}

.ggmc-compare-now-btn:hover {
    background-color: var(--ggmc-compare-bar-btn-bg);
    opacity: 0.9;
}

/* Notification Messages - Unified Style */
.ggmc-compare-message,
.ggmc-cart-message {
    font-family: var(--ggmc-font-family);
    background: var(--ggmc-notification-bg);
    border-radius: var(--ggmc-notification-radius);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.ggmc-compare-message .message-text,
.ggmc-cart-message .message-text {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-notification-text);
}

.ggmc-compare-message-success,
.ggmc-cart-message.success {
    border-left: 4px solid var(--ggmc-success);
}

.ggmc-compare-message-warning,
.ggmc-cart-message.warning {
    border-left: 4px solid var(--ggmc-warning);
}

.ggmc-compare-message-error,
.ggmc-cart-message.error {
    border-left: 4px solid var(--ggmc-error);
}

.ggmc-compare-message-info,
.ggmc-cart-message.info {
    border-left: 4px solid var(--ggmc-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .elementor-widget-ggmc-product-comparison .ggmc-comparison-title {
        font-size: var(--ggmc-font-size-2xl);
    }

    .elementor-widget-ggmc-product-comparison .ggmc-comparison-table tbody td {
        font-size: var(--ggmc-font-size-base-sm);
        padding: 12px;
    }

    .elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart {
        padding: 8px 14px;
        font-size: var(--ggmc-font-size-sm);
    }
}

/* ==========================================================================
   WISHLIST WIDGET - Design Styles
   ========================================================================== */

/* Wishlist Button - Design */
.wishlist-btn i {
    font-size: var(--ggmc-font-size-2xl);
}

.wishlist-btn svg {
    width: 20px;
    height: 20px;
}

.wishlist-btn.in-wishlist {
    color: var(--ggmc-wishlist-hover-text);
}

.wishlist-btn.in-wishlist i,
.wishlist-btn.in-wishlist svg {
    color: var(--ggmc-wishlist-hover-text);
    fill: var(--ggmc-wishlist-hover-text);
}

/* Wishlist Notification Messages - Design */
.ggmc-wishlist-message {
    background: var(--ggmc-text-primary);
    color: var(--ggmc-text-on-dark);
    padding: 12px 40px 12px 16px;
    border-radius: var(--ggmc-border-radius-sm);
    box-shadow: var(--ggmc-shadow-lg);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    line-height: 1.4;
}

.ggmc-wishlist-message-success {
    background: var(--ggmc-success);
}

.ggmc-wishlist-message-error {
    background: var(--ggmc-error);
}

.ggmc-wishlist-message-info {
    background: var(--ggmc-primary);
}

.ggmc-wishlist-message .message-close {
    color: var(--ggmc-white-80);
    font-size: var(--ggmc-font-size-xl);
}

.ggmc-wishlist-message .message-close:hover {
    color: var(--ggmc-text-on-dark);
}

/* Wishlist Count Badge - Design */
.ggmc-wishlist-count-badge {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--ggmc-border-radius-xl);
    background: var(--ggmc-wishlist-hover-text);
    color: var(--ggmc-text-on-primary);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
}

/* Wishlist Widget - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-title {
    margin: 0 0 var(--ggmc-spacing-lg) 0;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-3xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-title .ggmc-wishlist-count {
    font-weight: var(--ggmc-font-weight-normal);
    color: var(--ggmc-text-muted);
}

/* Empty State - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-empty {
    padding: var(--ggmc-spacing-xxl) var(--ggmc-spacing-lg);
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-empty-icon {
    font-size: var(--ggmc-font-size-8xl);
    color: var(--ggmc-border);
    margin-bottom: var(--ggmc-spacing-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-empty-message {
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    margin: 0;
}

/* Actions Bar - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-actions {
    margin-bottom: var(--ggmc-spacing-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-clear-all {
    background: none;
    border: 1px solid var(--ggmc-border);
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-clear-all:hover {
    background-color: var(--ggmc-error-light);
    border-color: var(--ggmc-error);
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-share-btn {
    background: none;
    border: 1px solid var(--ggmc-border);
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-share-btn:hover {
    background-color: var(--ggmc-primary-light);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

/* Share Link Container - Design */
.elementor-widget-ggmc-wishlist .ggmc-share-link-container {
    gap: var(--ggmc-spacing-sm);
    margin-top: var(--ggmc-spacing-sm);
}

/* Table Layout - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--ggmc-border-radius-lg);
    border: 1px solid var(--ggmc-border);
    overflow: hidden;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table th {
    padding: 12px 16px;
    background: var(--ggmc-surface);
    border-bottom: 2px solid var(--ggmc-border);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    text-align: left;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table tbody tr {
    background: var(--ggmc-background);
    transition: background-color var(--ggmc-transition);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table tbody tr:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table tbody tr:hover {
    background: var(--ggmc-surface-hover);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ggmc-border);
    vertical-align: middle;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table tbody tr:last-child td {
    border-bottom: none;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-col-remove {
    width: 50px;
    text-align: center;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-col-image {
    width: 100px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-col-price,
.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-col-stock {
    width: 120px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-col-actions {
    width: 150px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-product-image {
    width: 80px;
    height: 80px;
    border-radius: var(--ggmc-border-radius-sm);
    object-fit: cover;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-no-image {
    width: 80px;
    height: 80px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-border);
    font-size: var(--ggmc-font-size-3xl);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-product-name {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: 4px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-product-name:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-product-sku {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .wishlist-original-price {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base-sm);
    margin-left: 8px;
}

/* Table Remove Button - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .ggmc-wishlist-remove {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .ggmc-wishlist-remove:hover {
    background: var(--ggmc-error);
    color: var(--ggmc-text-on-error);
}

/* Table Add to Cart Button - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .ggmc-wishlist-add-to-cart {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    padding: 10px 18px;
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    border-radius: var(--ggmc-border-radius-md);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .ggmc-wishlist-add-to-cart:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-table .ggmc-wishlist-add-to-cart:disabled {
    background-color: var(--ggmc-surface);
    border-color: var(--ggmc-border);
    color: var(--ggmc-text-muted);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Stock Status - Design */
.elementor-widget-ggmc-wishlist .stock-status {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-medium);
    padding: 4px 12px;
    border-radius: var(--ggmc-border-radius-sm);
    display: inline-block;
}

.elementor-widget-ggmc-wishlist .stock-status.in-stock {
    background: var(--ggmc-success-bg);
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-wishlist .stock-status.out-of-stock {
    background: var(--ggmc-error-bg);
    color: var(--ggmc-error);
}

/* Grid Layout - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid {
    gap: var(--ggmc-spacing-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item:hover {
    box-shadow: var(--ggmc-shadow-md);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .ggmc-wishlist-remove {
    background: var(--ggmc-overlay-light);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .ggmc-wishlist-remove:hover {
    background: var(--ggmc-error);
    color: var(--ggmc-text-on-error);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .wishlist-no-image {
    background: var(--ggmc-surface);
    color: var(--ggmc-border);
    font-size: var(--ggmc-font-size-7xl);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .wishlist-product-info {
    padding: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .wishlist-product-name {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
    margin-bottom: var(--ggmc-spacing-sm);
    font-size: var(--ggmc-font-size-md);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .wishlist-product-name:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .wishlist-product-price {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin-bottom: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .wishlist-original-price {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base-sm);
    margin-left: 8px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .ggmc-wishlist-add-to-cart {
    width: 100%;
    padding: 10px 15px;
    margin-top: var(--ggmc-spacing-sm);
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .ggmc-wishlist-add-to-cart:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-grid-item .ggmc-wishlist-add-to-cart:disabled {
    background-color: var(--ggmc-surface);
    border-color: var(--ggmc-border);
    color: var(--ggmc-text-muted);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* List Layout - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-list {
    gap: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item {
    gap: var(--ggmc-spacing-lg);
    padding: var(--ggmc-spacing-lg);
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item:hover {
    box-shadow: var(--ggmc-shadow-md);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-image-wrapper {
    width: 120px;
    height: 120px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-image {
    border-radius: var(--ggmc-border-radius-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-no-image {
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-border);
    font-size: var(--ggmc-font-size-6xl);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-content {
    gap: var(--ggmc-spacing-lg);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-name {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-medium);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-primary);
    margin-bottom: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-name:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-description {
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    margin: 0 0 var(--ggmc-spacing-sm) 0;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-price {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin-bottom: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-original-price {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base-sm);
    margin-left: 8px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-actions {
    gap: var(--ggmc-spacing-sm);
}

/* Stock Status - Design */
.stock-status {
    padding: 4px 10px;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-medium);
}

.stock-status.in-stock {
    background: var(--ggmc-success-light);
    color: var(--ggmc-success-dark);
}

.stock-status.out-of-stock {
    background: var(--ggmc-error-light);
    color: var(--ggmc-error);
}

/* Wishlist Remove Button - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-remove {
    color: var(--ggmc-text-muted);
    padding: 5px;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-remove:hover {
    color: var(--ggmc-error);
}

/* Wishlist Add to Cart (List Layout) - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .ggmc-wishlist-add-to-cart {
    gap: var(--ggmc-spacing-sm);
    padding: 10px 20px;
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    display: inline-flex;
    align-items: center;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .ggmc-wishlist-add-to-cart:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .ggmc-wishlist-add-to-cart:disabled {
    background-color: var(--ggmc-surface);
    border-color: var(--ggmc-border);
    color: var(--ggmc-text-muted);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Wishlist List Remove Button - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .ggmc-wishlist-remove {
    padding: 8px 16px;
    background: none;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
    cursor: pointer;
    transition: all var(--ggmc-transition);
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .ggmc-wishlist-remove:hover {
    border-color: var(--ggmc-error);
    color: var(--ggmc-error);
    background-color: var(--ggmc-error-bg);
}

/* Responsive - Design overrides */
@media (max-width: 768px) {
    .elementor-widget-ggmc-wishlist .ggmc-wishlist-list-item .wishlist-product-image-wrapper {
        height: 200px;
    }
}

/* ==========================================================================
   PRODUCT COMPARISON WIDGET - Design Styles
   ========================================================================== */

/* Comparison Wrapper - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-wrapper {
    font-family: var(--ggmc-font-family);
}

/* Comparison Title - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-4xl);
    font-weight: var(--ggmc-font-weight-bold);
    color: var(--ggmc-text-primary);
    gap: var(--ggmc-spacing-sm);
    margin-bottom: 20px;
}

/* Table Container - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table-container {
    border-radius: var(--ggmc-border-radius-lg);
    overflow: hidden;
    box-shadow: var(--ggmc-shadow);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-count {
    font-weight: var(--ggmc-font-weight-normal);
    opacity: 0.7;
}

/* Comparison Actions - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-actions {
    margin-bottom: 20px;
}

.elementor-widget-ggmc-product-comparison .ggmc-compare-clear-btn {
    gap: var(--ggmc-spacing-sm-minus);
    padding: 8px 16px;
    background: var(--ggmc-error-light);
    color: var(--ggmc-error);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-product-comparison .ggmc-compare-clear-btn:hover {
    background: var(--ggmc-error-border);
}

/* Sticky Labels Background - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-wrapper.sticky-labels .ggmc-comparison-table .field-label {
    background: var(--ggmc-surface);
}

/* Comparison Table - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table {
    min-width: 600px;
    border-collapse: separate;
    border-spacing: 0;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-table th,
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table td {
    padding: 16px;
    border-bottom: 1px solid var(--ggmc-border);
    border-right: 1px solid var(--ggmc-border);
}

/* First column gets left border */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table th:first-child,
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table td:first-child {
    border-left: 1px solid var(--ggmc-border);
}

/* Header row gets top border */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table thead th {
    border-top: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-table th {
    background: var(--ggmc-surface);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-table .field-label {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    min-width: 150px;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-table tbody tr:nth-child(even) {
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-table tbody tr:hover {
    background: var(--ggmc-surface-hover);
}

/* Product Header Cell - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-table thead th.ggmc-compare-product {
    min-width: 180px;
}

/* Remove Button - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-remove-btn {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    background: var(--ggmc-error-light);
    color: var(--ggmc-error);
    border-radius: 50%;
    font-size: var(--ggmc-font-size-sm);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-remove-btn:hover {
    background: var(--ggmc-error);
    color: var(--ggmc-text-on-error);
}

/* Comparison Image - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-image {
    width: 120px;
    height: 120px;
    border-radius: var(--ggmc-border-radius);
    background: var(--ggmc-surface);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-image .ggmc-no-image {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-5xl);
}

/* Comparison Product Name - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-product-name a {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-md);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-product-name a:hover {
    color: var(--ggmc-primary);
    text-decoration: underline;
}

/* Comparison Price - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-price {
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-price .current-price,
.elementor-widget-ggmc-product-comparison .ggmc-comparison-price .sale-price {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-bold);
    font-size: var(--ggmc-font-size-xl);
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-price .original-price {
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
}

/* Comparison Stock Status - Design */
.elementor-widget-ggmc-product-comparison .ggmc-stock-status {
    gap: var(--ggmc-spacing-sm-minus);
    padding: 4px 12px;
    border-radius: var(--ggmc-border-radius-2xl);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
}

.elementor-widget-ggmc-product-comparison .ggmc-stock-status.in-stock {
    background: var(--ggmc-success-light);
    color: var(--ggmc-success-dark);
}

.elementor-widget-ggmc-product-comparison .ggmc-stock-status.low-stock {
    background: var(--ggmc-warning-light);
    color: var(--ggmc-warning);
}

.elementor-widget-ggmc-product-comparison .ggmc-stock-status.out-of-stock {
    background: var(--ggmc-error-light);
    color: var(--ggmc-error);
}

/* Comparison Description - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-description {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    line-height: 1.5;
    color: var(--ggmc-text-secondary);
}

/* Comparison Rating - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-rating {
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-rating .rating-stars {
    gap: var(--ggmc-spacing-2xs);
    color: var(--ggmc-star-filled);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-rating .rating-stars .star.empty {
    color: var(--ggmc-star-empty);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-rating .rating-value {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-rating .rating-value.no-rating {
    font-style: italic;
    color: var(--ggmc-text-muted);
}

/* Custom Attributes List - Design */
.elementor-widget-ggmc-product-comparison .ggmc-custom-attrs-list {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
}

.elementor-widget-ggmc-product-comparison .ggmc-custom-attrs-list li {
    padding: 4px 0;
    border-bottom: 1px solid #f3f4f6;
}

.elementor-widget-ggmc-product-comparison .ggmc-custom-attrs-list li:last-child {
    border-bottom: none;
}

/* Custom Attribute Rows - Uses same ggmc-attr-* classes as Custom Attributes widget */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-row-custom-attribute .field-label {
    display: flex;
    align-items: center;
    text-transform: none;
    letter-spacing: normal;
}

/* Kit Contents List - Design */
.elementor-widget-ggmc-product-comparison .ggmc-kit-contents-list {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.elementor-widget-ggmc-product-comparison .ggmc-kit-contents-list li {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
    padding: 4px 0;
    border-bottom: 1px dashed var(--ggmc-border);
}

.elementor-widget-ggmc-product-comparison .ggmc-kit-contents-list li:last-child {
    border-bottom: none;
}

/* Comparison Add to Cart - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm);
    padding: 8px 16px;
    background-color: var(--ggmc-cart-button);
    color: var(--ggmc-button-text);
    border: 2px solid var(--ggmc-cart-button);
    border-radius: var(--ggmc-border-radius-md);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart i,
.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart svg {
    color: inherit;
    fill: currentColor;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart:hover {
    background-color: var(--ggmc-background);
    border-color: var(--ggmc-cart-button);
    color: var(--ggmc-cart-button);
    transform: translateY(var(--ggmc-hover-lift));
    box-shadow: var(--ggmc-shadow-button);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart:disabled {
    background-color: var(--ggmc-border);
    border-color: var(--ggmc-border);
    color: var(--ggmc-text-secondary);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Comparison Empty State - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-empty {
    padding: 60px 20px;
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-empty-icon {
    font-size: var(--ggmc-font-size-8xl);
    color: var(--ggmc-gray-300);
    margin-bottom: 20px;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-empty-icon svg {
    width: 64px;
    height: 64px;
    max-width: 64px;
    max-height: 64px;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-empty-message {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-lg);
    color: var(--ggmc-text-secondary);
    margin-bottom: 24px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-cta-btn {
    gap: var(--ggmc-spacing-sm);
    padding: 12px 28px;
    background: var(--ggmc-primary);
    color: var(--ggmc-button-text);
    border-radius: var(--ggmc-border-radius);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-md);
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-cta-btn:hover {
    background: var(--ggmc-primary-dark);
    color: var(--ggmc-button-text);
}

/* Add More Products - Design */
.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-more {
    margin-top: 24px;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-more-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--ggmc-spacing-sm-minus);
    padding: 10px 20px;
    background: var(--ggmc-surface-hover);
    color: var(--ggmc-text-primary);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-medium);
    font-size: var(--ggmc-font-size-base);
    text-decoration: none;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-more-btn i,
.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-more-btn svg {
    font-size: var(--ggmc-font-size-lg);
    width: 16px;
    height: 16px;
}

.elementor-widget-ggmc-product-comparison .ggmc-comparison-add-more-btn:hover {
    background: var(--ggmc-border);
    color: var(--ggmc-text-primary);
}

/* ==========================================================================
   FLOATING COMPARISON BAR - Design Styles
   ========================================================================== */

.ggmc-compare-bar {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    color: var(--ggmc-text-on-dark);
    padding: 12px 20px;
    box-shadow: 0 -4px 20px var(--ggmc-black-15);
}

.ggmc-compare-bar-inner {
    gap: var(--ggmc-spacing-md-plus);
}

.ggmc-compare-bar-info {
    gap: var(--ggmc-spacing-md-minus);
}

.ggmc-compare-icon {
    font-size: var(--ggmc-font-size-3xl);
    opacity: 0.9;
}

.ggmc-compare-text {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md);
}

.ggmc-compare-bar .ggmc-compare-count {
    font-weight: var(--ggmc-font-weight-bold);
    font-size: var(--ggmc-font-size-xl);
}

.ggmc-compare-label {
    opacity: 0.9;
}

.ggmc-compare-bar-actions {
    gap: var(--ggmc-spacing-md-minus);
}

.ggmc-compare-bar-btn {
    padding: 10px 20px;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    gap: var(--ggmc-spacing-sm-minus);
}

.ggmc-compare-now-btn {
    background: var(--ggmc-background);
    color: var(--ggmc-compare-bar-btn-text);
    border: none;
}

.ggmc-compare-now-btn:hover {
    background: var(--ggmc-compare-bar-btn-hover-bg);
    color: var(--ggmc-compare-bar-btn-text);
}

.ggmc-compare-now-btn.disabled {
    opacity: 0.5;
}

.ggmc-compare-bar .ggmc-compare-clear-btn {
    background: var(--ggmc-white-15);
    color: var(--ggmc-text-on-dark);
    border: 1px solid var(--ggmc-white-30);
}

.ggmc-compare-bar .ggmc-compare-clear-btn:hover {
    background: var(--ggmc-white-25);
}

/* ==========================================================================
   COMPARE MESSAGE NOTIFICATION - Design Styles
   ========================================================================== */

.ggmc-compare-message {
    max-width: 350px;
    padding: 14px 20px;
    background: var(--ggmc-background);
    border-radius: var(--ggmc-border-radius);
    box-shadow: 0 4px 20px var(--ggmc-black-15);
    gap: var(--ggmc-spacing-md-minus);
}

.ggmc-compare-message .message-icon {
    font-size: var(--ggmc-font-size-2xl);
}

.ggmc-compare-message-success .message-icon {
    color: var(--ggmc-success);
}

.ggmc-compare-message-warning .message-icon {
    color: var(--ggmc-warning);
}

.ggmc-compare-message-error .message-icon {
    color: var(--ggmc-error);
}

.ggmc-compare-message-info .message-icon {
    color: var(--ggmc-primary);
}

.ggmc-compare-message .message-text {
    flex: 1;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}

.ggmc-compare-message .message-close {
    font-size: var(--ggmc-font-size-2xl);
    color: var(--ggmc-text-muted);
}

.ggmc-compare-message .message-close:hover {
    color: var(--ggmc-text-primary);
}

/* ==========================================================================
   COMPARE BUTTON STATES - Design Styles
   ========================================================================== */

.compare-btn.in-compare {
    background: var(--ggmc-compare-hover-bg) !important;
    color: var(--ggmc-primary) !important;
}

.compare-btn.in-compare .eicon-exchange {
    color: var(--ggmc-primary);
}

/* ==========================================================================
   PRODUCT COMPARISON - Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
    .elementor-widget-ggmc-product-comparison .ggmc-comparison-table {
        font-size: var(--ggmc-font-size-base-sm);
    }

    .elementor-widget-ggmc-product-comparison .ggmc-comparison-table th,
    .elementor-widget-ggmc-product-comparison .ggmc-comparison-table td {
        padding: 12px 10px;
    }

    .elementor-widget-ggmc-product-comparison .ggmc-comparison-table .field-label {
        min-width: 100px;
        font-size: var(--ggmc-font-size-sm);
    }

    .elementor-widget-ggmc-product-comparison .ggmc-comparison-image {
        width: 80px;
        height: 80px;
    }

    .elementor-widget-ggmc-product-comparison .ggmc-comparison-add-to-cart {
        padding: 8px 14px;
        font-size: var(--ggmc-font-size-sm);
    }

    .ggmc-compare-bar-inner {
        gap: var(--ggmc-spacing-md-minus);
    }
}

/* ==========================================================================
   VARIATION SELECTOR WIDGET - Design Styles
   ========================================================================== */

/* Attribute Row - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-attribute-row {
    margin-bottom: 16px;
}

/* Attribute Header - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-attribute-header {
    margin-bottom: 8px;
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-attribute-label {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-selected-value {
    font-weight: var(--ggmc-font-weight-normal);
    color: var(--ggmc-text-secondary);
}

/* Options Container - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-options {
    gap: var(--ggmc-spacing-sm);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-options.layout-grid {
    grid-template-columns: repeat(4, 1fr);
}

/* Button Style Options - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-button {
    padding: 8px 16px;
    background-color: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    min-width: 40px;
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-button:hover {
    border-color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-button.selected {
    background-color: var(--ggmc-text-primary);
    border-color: var(--ggmc-text-primary);
    color: var(--ggmc-text-on-dark);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-button.disabled {
    opacity: 0.4;
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-button.out-of-stock::after {
    background-color: var(--ggmc-text-muted);
}

/* Swatch Styles - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-swatch {
    width: 36px;
    height: 36px;
    border: 2px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    background-color: var(--ggmc-background);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-swatch:hover {
    border-color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-swatch.selected {
    border-color: var(--ggmc-text-primary);
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-swatch.disabled {
    opacity: 0.4;
}

/* Color Swatch Checkmark - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-color-swatch.selected::after {
    content: '\2713';
    font-size: var(--ggmc-font-size-lg);
    font-weight: bold;
    color: var(--ggmc-text-on-dark);
    text-shadow: 0 0 2px var(--ggmc-black-50);
}

/* Light colors need dark checkmark */
.elementor-widget-ggmc-variation-selector .ggmc-variation-color-swatch[style*="ffffff"]::after,
.elementor-widget-ggmc-variation-selector .ggmc-variation-color-swatch[style*="FFFFFF"]::after,
.elementor-widget-ggmc-variation-selector .ggmc-variation-color-swatch[style*="#fff"]::after,
.elementor-widget-ggmc-variation-selector .ggmc-variation-color-swatch[style*="#FFF"]::after {
    color: var(--ggmc-text-primary);
    text-shadow: none;
}

/* Image Swatch - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-image-swatch {
    padding: 2px;
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-image-swatch img {
    border-radius: var(--ggmc-border-radius-sm);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-image-swatch .ggmc-swatch-label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-2xs);
}

/* Select Dropdown - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-select {
    max-width: 300px;
    padding: 10px 12px;
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    background-color: var(--ggmc-background);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-select:hover,
.elementor-widget-ggmc-variation-selector .ggmc-variation-select:focus {
    border-color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-select option:disabled {
    color: var(--ggmc-text-muted);
}

/* Price Display - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-price-wrapper {
    margin-top: 16px;
    padding-top: 16px;
    border-top-color: var(--ggmc-border);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-price {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

/* Clear Button - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-clear {
    margin-top: 12px;
    padding: 6px 12px;
    border-color: var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-variation-selector .ggmc-variation-clear:hover {
    border-color: var(--ggmc-text-muted);
    color: var(--ggmc-text-primary);
}

/* Notice Messages - Design */
.elementor-widget-ggmc-variation-selector .ggmc-variation-selector-notice {
    padding: 20px;
    background-color: var(--ggmc-surface);
    border: 1px dashed var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
}

/* ==========================================================================
   VARIATION SELECTOR - Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
    .elementor-widget-ggmc-variation-selector .ggmc-variation-options.layout-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .elementor-widget-ggmc-variation-selector .ggmc-variation-select {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .elementor-widget-ggmc-variation-selector .ggmc-variation-options.layout-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .elementor-widget-ggmc-variation-selector .ggmc-variation-button {
        padding: 6px 12px;
        font-size: var(--ggmc-font-size-base-sm);
    }

    .elementor-widget-ggmc-variation-selector .ggmc-variation-swatch {
        width: 32px;
        height: 32px;
    }
}

/* ==========================================================================
   WISHLIST MULTI-LIST - Design CSS
   ========================================================================== */

/* Modal Overlay - Design */
.ggmc-wishlist-modal,
.ggmc-wishlist-share-modal {
    background-color: var(--ggmc-overlay-dark);
}

/* Modal Content - Design */
.ggmc-wishlist-modal-content,
.ggmc-wishlist-share-modal-content {
    background-color: var(--ggmc-background);
    border-radius: var(--ggmc-border-radius-lg);
    padding: var(--ggmc-spacing-xl);
    box-shadow: var(--ggmc-shadow-hover);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-close,
.ggmc-wishlist-share-modal-content .ggmc-share-modal-close {
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
    border-radius: var(--ggmc-border-radius-sm);
    font-size: var(--ggmc-font-size-xl);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-close:hover,
.ggmc-wishlist-share-modal-content .ggmc-share-modal-close:hover {
    background-color: var(--ggmc-error-light);
    color: var(--ggmc-error);
}

.ggmc-wishlist-modal .ggmc-wishlist-modal-content h3 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-modal .ggmc-wishlist-modal-content p,
.ggmc-wishlist-share-modal .ggmc-wishlist-share-modal-content p {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-secondary);
    margin: 0 0 var(--ggmc-spacing-md) 0;
}

/* Form Elements - Design */
.ggmc-wishlist-modal-content .ggmc-wishlist-form-group label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-form-group input[type="text"],
.ggmc-wishlist-modal-content .ggmc-wishlist-form-group select {
    padding: 0 var(--ggmc-spacing-md);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-background);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ggmc-wishlist-modal-content .ggmc-wishlist-form-group input[type="text"]:focus,
.ggmc-wishlist-modal-content .ggmc-wishlist-form-group select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-form-group input[type="checkbox"] {
    accent-color: var(--ggmc-primary);
}

/* Modal Buttons - Design */
.ggmc-wishlist-modal-content .ggmc-wishlist-modal-cancel {
    background-color: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
    padding: 0 var(--ggmc-spacing-lg);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-cancel:hover {
    background-color: var(--ggmc-surface-hover);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-confirm {
    background-color: var(--ggmc-primary);
    border: 1px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-on-primary);
    padding: 0 var(--ggmc-spacing-lg);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-confirm:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-confirm.ggmc-btn-danger {
    background-color: var(--ggmc-error);
    border-color: var(--ggmc-error);
}

.ggmc-wishlist-modal-content .ggmc-wishlist-modal-confirm.ggmc-btn-danger:hover {
    background-color: #b91c1c;
    border-color: #b91c1c;
}

/* Warning Message - Design */
.ggmc-wishlist-modal-content .ggmc-wishlist-warning {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    background-color: var(--ggmc-warning-light);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-warning-dark);
}

/* Share Link Modal - Design */
.ggmc-wishlist-share-modal .ggmc-wishlist-share-modal-content h3 {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-xl);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
    margin: 0 0 var(--ggmc-spacing-sm) 0;
}

.ggmc-wishlist-share-modal-content .ggmc-share-link-input,
.ggmc-wishlist-modal-content .ggmc-share-link-input {
    padding: 0 var(--ggmc-spacing-md);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family-alt);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-surface);
}

.ggmc-wishlist-share-modal-content .ggmc-copy-share-link,
.ggmc-wishlist-modal-content .ggmc-copy-share-link {
    background-color: var(--ggmc-primary);
    border: 1px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-on-primary);
}

.ggmc-wishlist-share-modal-content .ggmc-copy-share-link:hover,
.ggmc-wishlist-modal-content .ggmc-copy-share-link:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

/* Wishlist Tabs - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-tabs-nav {
    background-color: var(--ggmc-surface);
    padding: var(--ggmc-spacing-xs);
    border-radius: var(--ggmc-border-radius-md);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    background-color: transparent;
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab:hover {
    background-color: var(--ggmc-surface-hover);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab.active {
    background-color: var(--ggmc-background);
    color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab .tab-count {
    font-size: var(--ggmc-font-size-sm);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab .ggmc-default-star {
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-warning);
    font-style: normal;
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab-new {
    padding: var(--ggmc-spacing-sm);
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab-new:hover {
    color: var(--ggmc-primary);
    background-color: var(--ggmc-primary-light);
}

/* Tab Actions - Design (matches management controls pattern) */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab-actions button {
    padding: var(--ggmc-spacing-xs) var(--ggmc-spacing-sm);
    background-color: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab-actions button:hover {
    background-color: var(--ggmc-surface-hover);
    border-color: var(--ggmc-text-muted);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab-actions .ggmc-wishlist-set-default-btn:hover {
    background-color: var(--ggmc-primary-light);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-tab-actions .ggmc-wishlist-delete-btn:hover {
    background-color: var(--ggmc-error-light);
    border-color: var(--ggmc-error);
    color: var(--ggmc-error);
}

/* Wishlist Dropdown - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-dropdown-header label {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-dropdown-select {
    padding: 0 var(--ggmc-spacing-md);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
    background-color: var(--ggmc-background);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-dropdown-select:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-dropdown-actions button {
    background: none;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-dropdown-actions button:hover {
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-dropdown-actions .ggmc-wishlist-delete-btn:hover {
    border-color: var(--ggmc-error);
    color: var(--ggmc-error);
}

/* Management Controls - Design */
.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls button {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    background-color: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls button:hover:not(.disabled) {
    background-color: var(--ggmc-surface-hover);
    border-color: var(--ggmc-text-muted);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls .ggmc-wishlist-create-btn {
    background-color: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls .ggmc-wishlist-create-btn:hover:not(.disabled) {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls .ggmc-wishlist-delete-btn:hover:not(.disabled) {
    background-color: var(--ggmc-error-light);
    border-color: var(--ggmc-error);
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls .ggmc-wishlist-share-btn {
    background-color: var(--ggmc-success-lighter);
    border-color: var(--ggmc-success-border);
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls .ggmc-wishlist-share-btn:hover:not(.disabled) {
    background-color: var(--ggmc-success-light);
    border-color: var(--ggmc-success);
}

.elementor-widget-ggmc-wishlist .ggmc-wishlist-management-controls .ggmc-wishlist-limit-info {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-muted);
}

/* Bulk Actions - Design */
.ggmc-wishlist-bulk-actions {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    background-color: var(--ggmc-primary-light);
    border-radius: var(--ggmc-border-radius-sm);
}

.ggmc-wishlist-bulk-actions button {
    padding: var(--ggmc-spacing-xs) var(--ggmc-spacing-md);
    background-color: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.ggmc-wishlist-bulk-actions button:hover {
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
}

/* Item Selection - Design */
.ggmc-wishlist-item.selected {
    outline: 2px solid var(--ggmc-primary);
    outline-offset: -2px;
}

.ggmc-wishlist-item-select {
    background-color: var(--ggmc-background);
    border: 2px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    color: var(--ggmc-text-muted);
}

.ggmc-wishlist-item-select:hover {
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

.ggmc-wishlist-item.selected .ggmc-wishlist-item-select {
    background-color: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
}

/* ==========================================================================
   WISHLIST SELECTOR POPOVER - Design CSS
   ========================================================================== */

.ggmc-wishlist-popover-arrow {
    border-bottom: 8px solid var(--ggmc-background);
    filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.05));
}

.ggmc-wishlist-selector-popover.above .ggmc-wishlist-popover-arrow {
    border-bottom-color: var(--ggmc-background);
}

.ggmc-wishlist-popover-content {
    background-color: var(--ggmc-background);
    border-radius: var(--ggmc-border-radius-lg);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 2px 10px rgba(0, 0, 0, 0.1);
}

.ggmc-wishlist-popover-header {
    padding: var(--ggmc-spacing-md) var(--ggmc-spacing-md) var(--ggmc-spacing-sm);
    border-bottom: 1px solid var(--ggmc-border);
}

.ggmc-wishlist-popover-title {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-popover-close {
    background-color: transparent;
    color: var(--ggmc-text-muted);
    border-radius: var(--ggmc-border-radius-sm);
}

.ggmc-wishlist-popover-close:hover {
    background-color: var(--ggmc-surface);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-popover-body {
    padding: var(--ggmc-spacing-sm);
}

.ggmc-wishlist-popover-list {
    gap: 2px;
}

.ggmc-wishlist-popover-item {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-popover-item:hover {
    background-color: var(--ggmc-surface);
}

.ggmc-wishlist-popover-item:has(input:checked) {
    background-color: var(--ggmc-primary-light);
}

.ggmc-default-indicator {
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
    font-weight: var(--ggmc-font-weight-normal);
}

.ggmc-wishlist-popover-item-count {
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-muted);
    background-color: var(--ggmc-surface);
    padding: 2px 8px;
    border-radius: 10px;
}

.ggmc-wishlist-popover-empty {
    padding: var(--ggmc-spacing-lg);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-muted);
}

.ggmc-wishlist-popover-create {
    padding: var(--ggmc-spacing-sm);
    border-top: 1px solid var(--ggmc-border);
    margin-top: var(--ggmc-spacing-sm);
}

.ggmc-wishlist-popover-create-btn {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    background-color: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base-sm);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-secondary);
}

.ggmc-wishlist-popover-create-btn:hover {
    background-color: var(--ggmc-primary-light);
    color: var(--ggmc-primary);
}

.ggmc-wishlist-popover-create-btn i {
    color: var(--ggmc-primary);
}

.ggmc-wishlist-popover-new-name {
    padding: 0 var(--ggmc-spacing-sm);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}

.ggmc-wishlist-popover-new-name:focus {
    outline: none;
    border-color: var(--ggmc-primary);
    box-shadow: var(--ggmc-shadow-focus);
}

.ggmc-wishlist-popover-create-cancel {
    padding: 0 var(--ggmc-spacing-md);
    background-color: var(--ggmc-surface);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-text-secondary);
}

.ggmc-wishlist-popover-create-cancel:hover {
    background-color: var(--ggmc-surface-hover);
}

.ggmc-wishlist-popover-create-confirm {
    padding: 0 var(--ggmc-spacing-md);
    background-color: var(--ggmc-primary);
    border: 1px solid var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-on-primary);
}

.ggmc-wishlist-popover-create-confirm:hover {
    background-color: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}

.ggmc-wishlist-popover-footer {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md) var(--ggmc-spacing-md);
    border-top: 1px solid var(--ggmc-border);
}

.ggmc-wishlist-popover-add-btn {
    background-color: var(--ggmc-primary);
    border-radius: var(--ggmc-border-radius-sm);
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-base);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-text-on-primary);
}

.ggmc-wishlist-popover-add-btn:hover:not(:disabled) {
    background-color: var(--ggmc-primary-dark);
}

.ggmc-wishlist-popover-add-btn:disabled {
    background-color: var(--ggmc-gray-300);
}

/* =================================================================
   Taxonomy Header Widget - Design Defaults
   ================================================================= */

/* Container */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-header {
    padding: var(--ggmc-spacing-xl, 32px);
    border-radius: var(--ggmc-radius-lg, 8px);
}

/* Image layout gap */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-header--image-left,
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-header--image-right {
    gap: var(--ggmc-spacing-lg-plus);
}

/* Image */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-image img {
    border-radius: var(--ggmc-radius-lg, 8px);
}

/* Background image overlay text */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-header--background .ggmc-taxonomy-title,
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-header--background .ggmc-taxonomy-description,
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-header--background .ggmc-taxonomy-count {
    color: var(--ggmc-text-on-dark);
}

/* Title */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-title {
    font-family: var(--ggmc-font-family);
    font-weight: var(--ggmc-font-weight-bold, 700);
    font-size: var(--ggmc-font-size-3xl, 30px);
    color: var(--ggmc-text-primary, #0f172a);
    margin-bottom: var(--ggmc-spacing-sm-plus);
    line-height: 1.2;
}

/* Title prefix */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-prefix {
    font-weight: var(--ggmc-font-weight-normal, 400);
    color: var(--ggmc-text-secondary, #475569);
}

/* Description */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-description {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-md, 16px);
    color: var(--ggmc-text-secondary, #475569);
    line-height: 1.6;
    margin-bottom: var(--ggmc-spacing-md-sm);
}

/* Product count */
.elementor-widget-ggmc-taxonomy-header .ggmc-taxonomy-count {
    font-family: var(--ggmc-font-family);
    font-size: var(--ggmc-font-size-sm, 14px);
    font-weight: var(--ggmc-font-weight-medium, 500);
    color: var(--ggmc-text-muted, #64748b);
    background-color: var(--ggmc-surface, #f8fafc);
    padding: var(--ggmc-spacing-xs, 4px) var(--ggmc-spacing-sm, 8px);
    border-radius: var(--ggmc-radius-sm, 4px);
}

/* =================================================================
   Product Barcode Widget - Design Defaults
   ================================================================= */
.elementor-widget-ggmc-product-barcode .ggmc-product-barcode.layout-inline .ggmc-barcode-item {
    gap: var(--ggmc-spacing-sm);
}
.elementor-widget-ggmc-product-barcode .ggmc-product-barcode.layout-stacked .ggmc-barcode-item {
    gap: var(--ggmc-spacing-xs-plus);
}
.elementor-widget-ggmc-product-barcode .ggmc-product-barcode.layout-table .ggmc-barcode-item {
    gap: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-product-barcode .ggmc-barcode-type {
    padding: var(--ggmc-spacing-2xs) var(--ggmc-spacing-sm);
    font-size: var(--ggmc-font-size-xs);
    border-radius: var(--ggmc-border-radius-sm);
    font-weight: var(--ggmc-font-weight-semibold);
}
.elementor-widget-ggmc-product-barcode .ggmc-barcode-primary {
    color: #f0ad4e;
    font-size: var(--ggmc-font-size-base);
}
.elementor-widget-ggmc-product-barcode .ggmc-barcode-value {
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 1px;
}

/* =================================================================
   Discount Code Input Widget - Design Defaults
   ================================================================= */
.elementor-widget-ggmc-discount-code-input .ggmc-discount-input-wrapper {
    margin-bottom: var(--ggmc-spacing-md-sm);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-label {
    margin-bottom: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-toggle {
    font-size: 1.2em;
    font-weight: var(--ggmc-font-weight-bold);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-form {
    gap: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-discount-code-input .ggmc-applied-discount {
    gap: var(--ggmc-spacing-sm-plus);
    padding: var(--ggmc-spacing-sm-plus);
    background: var(--ggmc-success-light);
    border-radius: var(--ggmc-border-radius-sm);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-code-applied {
    font-family: monospace;
    font-weight: var(--ggmc-font-weight-bold);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-remove-btn {
    font-size: var(--ggmc-font-size-xl);
    color: var(--ggmc-error);
    padding: 0 var(--ggmc-spacing-xs-plus);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-remove-btn:hover {
    color: #a61e1e;
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-message {
    margin-top: var(--ggmc-spacing-sm-plus);
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md-minus);
    border-radius: var(--ggmc-border-radius-sm);
    border-left: 3px solid;
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-message.success {
    background: var(--ggmc-success-light);
}
.elementor-widget-ggmc-discount-code-input .ggmc-discount-message.error {
    background: var(--ggmc-error-light);
}

/* =================================================================
   Applied Discount Widget - Design Defaults
   ================================================================= */
.elementor-widget-ggmc-applied-discount .ggmc-applied-discount-row {
    gap: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-applied-discount .ggmc-discount-code-badge {
    font-family: monospace;
    font-weight: var(--ggmc-font-weight-bold);
    padding: 3px var(--ggmc-spacing-sm);
    border-radius: var(--ggmc-border-radius-sm);
}
.elementor-widget-ggmc-applied-discount .ggmc-discount-amount {
    font-weight: var(--ggmc-font-weight-semibold);
}
.elementor-widget-ggmc-applied-discount .ggmc-discount-remove-link {
    color: var(--ggmc-error);
    padding: 0;
    font-size: inherit;
}
.elementor-widget-ggmc-applied-discount .ggmc-discount-remove-link:hover {
    color: #a61e1e;
}

/* =================================================================
   Checkout Widget - Payment Methods - Design Defaults
   ================================================================= */
.elementor-widget-ggmc-checkout .payment-methods-section {
    margin-top: var(--ggmc-spacing-md-plus);
    padding-top: var(--ggmc-spacing-md-plus);
    border-top: 1px solid var(--ggmc-border);
}
.elementor-widget-ggmc-checkout .payment-methods-section h4 {
    margin: 0 0 var(--ggmc-spacing-md-sm) 0;
    font-size: var(--ggmc-font-size-lg);
    font-weight: var(--ggmc-font-weight-semibold);
}
.elementor-widget-ggmc-checkout .ggmc-payment-methods {
    gap: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method:has(input:checked) {
    border-color: var(--ggmc-primary);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method-label {
    gap: var(--ggmc-spacing-md-minus);
    padding: var(--ggmc-spacing-md-minus) var(--ggmc-spacing-md-sm);
    background: var(--ggmc-background);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method-label:hover {
    background: var(--ggmc-surface);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method-info {
    gap: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method-title {
    font-weight: var(--ggmc-font-weight-medium);
}
.elementor-widget-ggmc-checkout .ggmc-payment-method-fields {
    padding: var(--ggmc-spacing-md-sm);
    background: var(--ggmc-surface);
    border-top: 1px solid var(--ggmc-border);
}
.elementor-widget-ggmc-checkout #ggmc-payment-message {
    margin-top: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-checkout #ggmc-payment-message .ggmc-payment-error {
    color: var(--ggmc-error);
    font-size: var(--ggmc-font-size-base);
    margin: 0;
}

/* =================================================================
   Checkout Widget - Shipping Methods - Design Defaults
   ================================================================= */
.elementor-widget-ggmc-checkout .shipping-methods-section {
    margin-bottom: var(--ggmc-spacing-sm-plus);
}
.elementor-widget-ggmc-checkout .shipping-row-header {
    margin-bottom: var(--ggmc-spacing-sm);
}
.elementor-widget-ggmc-checkout .shipping-methods-list {
    gap: var(--ggmc-spacing-sm);
    margin-bottom: var(--ggmc-spacing-md-sm);
}
.elementor-widget-ggmc-checkout .shipping-method-option {
    gap: var(--ggmc-spacing-sm-plus);
    padding: var(--ggmc-spacing-sm-plus) var(--ggmc-spacing-md-minus);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    background: var(--ggmc-background);
}
.elementor-widget-ggmc-checkout .shipping-method-option:hover {
    border-color: #cbd5e1;
    background: var(--ggmc-surface);
}
.elementor-widget-ggmc-checkout .shipping-method-option.selected,
.elementor-widget-ggmc-checkout .shipping-method-option:has(input:checked) {
    border-color: var(--ggmc-primary);
    background: var(--ggmc-primary-light, #eff6ff);
}
.elementor-widget-ggmc-checkout .shipping-method-option .method-name {
    font-weight: var(--ggmc-font-weight-medium);
}
.elementor-widget-ggmc-checkout .shipping-method-option .method-cost {
    font-weight: var(--ggmc-font-weight-semibold);
    color: #1e40af;
}
.elementor-widget-ggmc-checkout .shipping-row .shipping-cost {
    font-weight: var(--ggmc-font-weight-semibold);
}

/* =================================================================
   Subscription Management Widget - Design Defaults
   ================================================================= */
.elementor-widget-ggmc-subscription-management .ggmc-subscription-list {
    gap: var(--ggmc-spacing-md);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-card {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius);
    background: var(--ggmc-background);
    box-shadow: var(--ggmc-shadow);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-card:hover {
    box-shadow: var(--ggmc-shadow-hover);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-card-header {
    padding: var(--ggmc-spacing-md) var(--ggmc-spacing-md-plus);
    border-bottom: 1px solid var(--ggmc-border);
    background: var(--ggmc-surface);
    gap: var(--ggmc-spacing-sm);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-number {
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-info {
    gap: var(--ggmc-spacing-sm);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-badge {
    font-size: var(--ggmc-font-size-xs);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 2px 8px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-active {
    color: var(--ggmc-sub-active);
    background: var(--ggmc-sub-active-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-trial {
    color: var(--ggmc-sub-trial);
    background: var(--ggmc-sub-trial-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-paused {
    color: var(--ggmc-sub-paused);
    background: var(--ggmc-sub-paused-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-cancelled {
    color: var(--ggmc-sub-cancelled);
    background: var(--ggmc-sub-cancelled-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-on-hold {
    color: var(--ggmc-sub-on-hold);
    background: var(--ggmc-sub-on-hold-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-pending {
    color: var(--ggmc-sub-pending);
    background: var(--ggmc-sub-pending-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-expired {
    color: var(--ggmc-sub-expired);
    background: var(--ggmc-sub-expired-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-failed {
    color: var(--ggmc-sub-failed);
    background: var(--ggmc-sub-failed-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-sub-pending-cancel {
    color: var(--ggmc-sub-pending-cancel);
    background: var(--ggmc-sub-pending-cancel-bg);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-price {
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-card-body {
    padding: var(--ggmc-spacing-md) var(--ggmc-spacing-md-plus);
    gap: var(--ggmc-spacing-xs);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-detail {
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
    gap: var(--ggmc-spacing-xs);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-detail-label {
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-actions {
    padding: var(--ggmc-spacing-sm-plus) var(--ggmc-spacing-md-plus);
    border-top: 1px solid var(--ggmc-border);
    background: var(--ggmc-surface);
    gap: var(--ggmc-spacing-sm);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn {
    padding: var(--ggmc-spacing-xs) var(--ggmc-spacing-md-minus);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-medium);
    border-radius: var(--ggmc-border-radius-md);
    border: 1px solid var(--ggmc-border);
    background: var(--ggmc-background);
    color: var(--ggmc-text-primary);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn:hover {
    background: var(--ggmc-surface-hover);
    border-color: var(--ggmc-text-muted);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn.ggmc-btn-primary {
    background: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
    border-color: var(--ggmc-primary);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn.ggmc-btn-primary:hover {
    background: var(--ggmc-primary-dark);
    border-color: var(--ggmc-primary-dark);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn.ggmc-btn-danger {
    color: var(--ggmc-error);
    border-color: var(--ggmc-error-border);
    background: var(--ggmc-error-light);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn.ggmc-btn-danger:hover {
    background: var(--ggmc-error);
    color: var(--ggmc-text-on-error);
    border-color: var(--ggmc-error);
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-action-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.elementor-widget-ggmc-subscription-management .ggmc-subscription-login-required,
.elementor-widget-ggmc-subscription-management .ggmc-subscription-empty {
    padding: var(--ggmc-spacing-xl);
    text-align: center;
    color: var(--ggmc-text-muted);
    font-size: var(--ggmc-font-size-base);
}

/* =================================================================
   Cart / Checkout - Subscription Display - Design Defaults
   ================================================================= */
.ggmc-subscription-frequency-badge {
    font-size: var(--ggmc-font-size-2xs);
    font-weight: var(--ggmc-font-weight-semibold);
    color: var(--ggmc-sub-active);
    background: var(--ggmc-sub-active-bg);
    padding: 1px 6px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.ggmc-recurring-total-row {
    padding: var(--ggmc-spacing-sm) 0;
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
    border-top: 1px dashed var(--ggmc-border);
}
.ggmc-recurring-total-row strong {
    color: var(--ggmc-text-primary);
}
.ggmc-trial-info {
    font-size: var(--ggmc-font-size-sm);
    color: var(--ggmc-sub-trial);
    gap: var(--ggmc-spacing-xs);
    padding: var(--ggmc-spacing-xs) 0;
}

/* =================================================================
   Customer Account - Subscriptions Tab - Design Defaults
   ================================================================= */
.ggmc-account-subscriptions-list {
    gap: var(--ggmc-spacing-md);
}
.ggmc-account-subscriptions-empty {
    padding: var(--ggmc-spacing-lg);
    text-align: center;
    color: var(--ggmc-text-muted);
}
.ggmc-account-sub-card {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius);
    background: var(--ggmc-background);
}
.ggmc-account-sub-header {
    padding: var(--ggmc-spacing-sm-plus) var(--ggmc-spacing-md);
    border-bottom: 1px solid var(--ggmc-border);
    background: var(--ggmc-surface);
    gap: var(--ggmc-spacing-sm);
}
.ggmc-account-sub-number {
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base);
    color: var(--ggmc-text-primary);
}
.ggmc-account-sub-title {
    gap: var(--ggmc-spacing-sm);
}
.ggmc-account-sub-badge {
    font-size: var(--ggmc-font-size-2xs);
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 2px 8px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ggmc-account-sub-badge.ggmc-sub-active {
    color: var(--ggmc-sub-active);
    background: var(--ggmc-sub-active-bg);
}
.ggmc-account-sub-badge.ggmc-sub-trial {
    color: var(--ggmc-sub-trial);
    background: var(--ggmc-sub-trial-bg);
}
.ggmc-account-sub-badge.ggmc-sub-paused {
    color: var(--ggmc-sub-paused);
    background: var(--ggmc-sub-paused-bg);
}
.ggmc-account-sub-badge.ggmc-sub-cancelled {
    color: var(--ggmc-sub-cancelled);
    background: var(--ggmc-sub-cancelled-bg);
}
.ggmc-account-sub-badge.ggmc-sub-on-hold {
    color: var(--ggmc-sub-on-hold);
    background: var(--ggmc-sub-on-hold-bg);
}
.ggmc-account-sub-badge.ggmc-sub-pending {
    color: var(--ggmc-sub-pending);
    background: var(--ggmc-sub-pending-bg);
}
.ggmc-account-sub-badge.ggmc-sub-expired {
    color: var(--ggmc-sub-expired);
    background: var(--ggmc-sub-expired-bg);
}
.ggmc-account-sub-badge.ggmc-sub-failed {
    color: var(--ggmc-sub-failed);
    background: var(--ggmc-sub-failed-bg);
}
.ggmc-account-sub-badge.ggmc-sub-pending-cancel {
    color: var(--ggmc-sub-pending-cancel);
    background: var(--ggmc-sub-pending-cancel-bg);
}
.ggmc-account-sub-price {
    font-weight: var(--ggmc-font-weight-semibold);
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-primary);
}
.ggmc-account-sub-details {
    padding: var(--ggmc-spacing-sm-plus) var(--ggmc-spacing-md);
    gap: var(--ggmc-spacing-2xs);
}
.ggmc-account-sub-detail {
    font-size: var(--ggmc-font-size-base-sm);
    color: var(--ggmc-text-secondary);
    gap: var(--ggmc-spacing-xs);
}
.ggmc-account-sub-label {
    font-weight: var(--ggmc-font-weight-medium);
    color: var(--ggmc-text-primary);
}
.ggmc-account-sub-actions {
    padding: var(--ggmc-spacing-sm) var(--ggmc-spacing-md);
    border-top: 1px solid var(--ggmc-border);
    background: var(--ggmc-surface);
    gap: var(--ggmc-spacing-sm);
}
.ggmc-account-sub-action {
    padding: var(--ggmc-spacing-xs) var(--ggmc-spacing-md-minus);
    font-size: var(--ggmc-font-size-sm);
    font-weight: var(--ggmc-font-weight-medium);
    border-radius: var(--ggmc-border-radius-md);
    border: 1px solid var(--ggmc-border);
    background: var(--ggmc-background);
    color: var(--ggmc-text-primary);
}
.ggmc-account-sub-action:hover {
    background: var(--ggmc-surface-hover);
    border-color: var(--ggmc-text-muted);
}
.ggmc-account-sub-action.ggmc-btn-sub-danger {
    color: var(--ggmc-error);
    border-color: var(--ggmc-error-border);
    background: var(--ggmc-error-light);
}
.ggmc-account-sub-action.ggmc-btn-sub-danger:hover {
    background: var(--ggmc-error);
    color: var(--ggmc-text-on-error);
    border-color: var(--ggmc-error);
}
.ggmc-account-sub-action:disabled {
    opacity: 0.6;
}

/* ==========================================================================
   PRODUCT IMAGE GRID - Professional Defaults
   ========================================================================== */

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid {
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    background: var(--ggmc-surface);
    padding: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid__grid {
    gap: var(--ggmc-spacing-sm-plus);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid--masonry .ggmc-image-grid__grid {
    column-gap: var(--ggmc-spacing-sm-plus);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid--masonry .ggmc-image-grid__item {
    margin-bottom: var(--ggmc-spacing-sm-plus);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid-lightbox__overlay {
    background-color: rgba(0, 0, 0, 0.85);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid-lightbox__close,
.elementor-widget-ggmc-product-image-grid .ggmc-image-grid-lightbox__nav {
    color: #ffffff;
    font-size: 24px;
}

/* Load More Link */
.elementor-widget-ggmc-product-image-grid .ggmc-image-grid__load-more {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: 12px;
    font-weight: var(--ggmc-font-weight-semibold);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-top: var(--ggmc-spacing-md);
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid__load-more:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid__load-more .ggmc-load-more-icon {
    font-size: 10px;
}

.elementor-widget-ggmc-product-image-grid .ggmc-image-grid-lightbox__counter {
    color: #ffffff;
    font-size: 14px;
}

/* ═══════════════════════════════════════════════════════════════
   Product Carousel Widget — Design Layer
   All values use CSS variables; each styled property has a
   corresponding Elementor control that can override it.
   ═══════════════════════════════════════════════════════════════ */

/* ── Card ───────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .ggmc-carousel-card {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-lg);
    box-shadow: var(--ggmc-shadow);
}

.elementor-widget-ggmc-product-carousel .ggmc-carousel-card:hover {
    box-shadow: var(--ggmc-shadow-hover);
}

/* ── Content padding ────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-card-content {
    padding: var(--ggmc-spacing-md);
    gap: var(--ggmc-spacing-sm);
}

/* ── Image ──────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-card-image img {
    border-radius: var(--ggmc-border-radius-lg) var(--ggmc-border-radius-lg) 0 0;
}

.elementor-widget-ggmc-product-carousel .layout-horizontal .carousel-card-image img {
    border-radius: var(--ggmc-border-radius-lg) 0 0 var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-product-carousel .layout-horizontal.image-right .carousel-card-image img {
    border-radius: 0 var(--ggmc-border-radius-lg) var(--ggmc-border-radius-lg) 0;
}

.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-card-image img {
    border-radius: var(--ggmc-border-radius-lg);
}

.elementor-widget-ggmc-product-carousel .placeholder-image {
    background: var(--ggmc-surface);
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: 14px;
}

/* ── Badges ─────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .badge {
    font-family: var(--ggmc-font-family);
    font-size: 11px;
    font-weight: var(--ggmc-font-weight-semibold);
    padding: 3px 8px;
    border-radius: var(--ggmc-border-radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-widget-ggmc-product-carousel .badge-featured {
    background: var(--ggmc-badge-featured-bg);
    color: var(--ggmc-badge-featured-text);
}

.elementor-widget-ggmc-product-carousel .badge-sale {
    background: var(--ggmc-badge-sale-bg);
    color: var(--ggmc-badge-sale-text);
}

.elementor-widget-ggmc-product-carousel .badge-new {
    background: var(--ggmc-badge-new-bg);
    color: var(--ggmc-badge-new-text);
}

.elementor-widget-ggmc-product-carousel .badge-out-of-stock {
    background: var(--ggmc-error);
    color: var(--ggmc-text-on-error);
}

/* ── Title ──────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-title {
    font-family: var(--ggmc-font-family);
    font-size: 16px;
    font-weight: var(--ggmc-font-weight-semibold);
    line-height: 1.3;
}

.elementor-widget-ggmc-product-carousel .carousel-product-title a {
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-product-carousel .carousel-product-title a:hover {
    color: var(--ggmc-primary);
}

/* ── Categories ─────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-categories {
    font-family: var(--ggmc-font-family);
    font-size: 12px;
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-carousel .carousel-product-categories a {
    color: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-carousel .carousel-product-categories a:hover {
    color: var(--ggmc-primary);
}

/* ── Price ───────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-price {
    font-family: var(--ggmc-font-family);
    font-size: 18px;
    font-weight: var(--ggmc-font-weight-bold);
    color: var(--ggmc-text-primary);
}

.elementor-widget-ggmc-product-carousel .carousel-product-price .sale-price {
    color: var(--ggmc-error);
}

.elementor-widget-ggmc-product-carousel .carousel-product-price .original-price {
    color: var(--ggmc-text-muted);
    text-decoration: line-through;
    font-size: 14px;
    font-weight: var(--ggmc-font-weight-normal);
}

/* ── Rating ──────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-rating {
    font-size: 14px;
    color: var(--ggmc-warning-dark);
}

.elementor-widget-ggmc-product-carousel .carousel-product-rating .star.empty {
    color: var(--ggmc-border);
}

.elementor-widget-ggmc-product-carousel .carousel-product-rating .rating-text {
    font-family: var(--ggmc-font-family);
    font-size: 12px;
    color: var(--ggmc-text-muted);
    margin-left: 4px;
}

/* ── Description ─────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-description {
    font-family: var(--ggmc-font-family);
    font-size: 13px;
    line-height: 1.5;
    color: var(--ggmc-text-secondary);
}

/* ── Stock ────────────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-stock {
    font-family: var(--ggmc-font-family);
    font-size: 13px;
}

.elementor-widget-ggmc-product-carousel .carousel-product-stock .in-stock {
    color: var(--ggmc-success);
}

.elementor-widget-ggmc-product-carousel .carousel-product-stock .low-stock {
    color: var(--ggmc-warning);
}

.elementor-widget-ggmc-product-carousel .carousel-product-stock .out-of-stock {
    color: var(--ggmc-error);
}

/* ── Actions / Buttons ───────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .ggmc-add-to-cart-btn {
    font-family: var(--ggmc-font-family);
    font-size: 14px;
    font-weight: var(--ggmc-font-weight-semibold);
    background: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
    border: none;
    border-radius: var(--ggmc-border-radius-md);
    padding: 10px 20px;
    cursor: pointer;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-carousel .ggmc-add-to-cart-btn:hover {
    background: var(--ggmc-primary-dark);
}

.elementor-widget-ggmc-product-carousel .ggmc-add-to-cart-btn.btn-small {
    padding: 6px 14px;
    font-size: 12px;
}

.elementor-widget-ggmc-product-carousel .ggmc-add-to-cart-btn.btn-large {
    padding: 14px 28px;
    font-size: 16px;
}

.elementor-widget-ggmc-product-carousel .wishlist-btn,
.elementor-widget-ggmc-product-carousel .compare-btn {
    background: none;
    border: 1px solid var(--ggmc-border);
    border-radius: var(--ggmc-border-radius-md);
    padding: 8px;
    cursor: pointer;
    color: var(--ggmc-text-secondary);
    font-size: 16px;
    line-height: 1;
    transition: all var(--ggmc-transition);
}

.elementor-widget-ggmc-product-carousel .wishlist-btn:hover,
.elementor-widget-ggmc-product-carousel .compare-btn:hover {
    border-color: var(--ggmc-primary);
    color: var(--ggmc-primary);
}

/* ── Navigation Arrows ───────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .ggmc-carousel-nav {
    background: var(--ggmc-background);
    border: 1px solid var(--ggmc-border);
    color: var(--ggmc-text-secondary);
    border-radius: 50%;
    padding: 12px;
    font-size: 20px;
}

.elementor-widget-ggmc-product-carousel .ggmc-carousel-nav:hover {
    background: var(--ggmc-primary);
    border-color: var(--ggmc-primary);
    color: var(--ggmc-text-on-primary);
}

/* ── Dot Indicators ──────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .ggmc-carousel-dots {
    gap: var(--ggmc-spacing-sm);
    margin-top: var(--ggmc-spacing-md);
}

.elementor-widget-ggmc-product-carousel .ggmc-carousel-dots .ggmc-carousel-dot {
    width: 10px;
    height: 10px;
    padding: 0 !important;
    min-width: 0;
    background: var(--ggmc-border);
    border-radius: 50%;
}

.elementor-widget-ggmc-product-carousel .ggmc-carousel-dots .ggmc-carousel-dot:hover {
    background: var(--ggmc-text-muted);
}

.elementor-widget-ggmc-product-carousel .ggmc-carousel-dots .ggmc-carousel-dot.active {
    background: var(--ggmc-primary);
    transform: scale(1.2);
}

/* ── Peek slides ─────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .ggmc-carousel-slide.is-peek {
    opacity: 0.7;
}

/* ── Overlay text defaults ───────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-card-content {
    color: #ffffff;
}

.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-product-title a,
.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-product-categories,
.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-product-categories a,
.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-product-price,
.elementor-widget-ggmc-product-carousel .layout-overlay .carousel-product-description {
    color: inherit;
}

/* ── Attributes ──────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-attr-label {
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    font-size: 12px;
    font-weight: var(--ggmc-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.elementor-widget-ggmc-product-carousel .carousel-attr-value {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: 13px;
    font-weight: var(--ggmc-font-weight-semibold);
}

.elementor-widget-ggmc-product-carousel .carousel-attributes-table .carousel-attr-item {
    padding: var(--ggmc-spacing-xs) 0;
    border-bottom: 1px solid var(--ggmc-border);
}

.elementor-widget-ggmc-product-carousel .carousel-attributes-table .carousel-attr-item:last-child {
    border-bottom: none;
}

/* ── Details Link ────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .carousel-product-details-link .details-link {
    color: var(--ggmc-text-primary);
    font-family: var(--ggmc-font-family);
    font-size: 12px;
    font-weight: var(--ggmc-font-weight-semibold);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    gap: var(--ggmc-spacing-xs);
}

.elementor-widget-ggmc-product-carousel .carousel-product-details-link .details-link:hover {
    color: var(--ggmc-primary);
}

.elementor-widget-ggmc-product-carousel .carousel-product-details-link .details-link-icon {
    font-size: 10px;
}

/* ── Empty state ─────────────────────────────────────────────── */

.elementor-widget-ggmc-product-carousel .ggmc-carousel-empty {
    color: var(--ggmc-text-muted);
    font-family: var(--ggmc-font-family);
    background: var(--ggmc-surface);
    border-radius: var(--ggmc-border-radius-lg);
}
