
:root {
    /* Color Palette - Bright, Clean, Modern */
    --epulse-color-primary: #007bff; /* Bright Blue */
    --epulse-color-primary-darker: #0056b3;
    --epulse-color-secondary: #6c757d; /* Cool Gray */
    --epulse-color-accent: #17a2b8;   /* Bright Teal/Cyan */
    --epulse-color-success: #28a745;  /* Vivid Green */
    --epulse-color-danger: #dc3545;   /* Clear Red */
    --epulse-color-warning: #ffc107;  /* Bright Yellow */
    --epulse-color-info: #17a2b8;     /* Teal (same as accent for now) */
    
    --epulse-color-background-light: #ffffff;
    --epulse-color-background-subtle: #f8f9fa;
    --epulse-color-border: #dee2e6;
    
    --epulse-text-color-primary: #212529; /* Dark Gray for main text */
    --epulse-text-color-secondary: #495057; /* Medium Gray for secondary text */
    --epulse-text-color-muted: #6c757d;   /* Lighter Gray for muted text */
    --epulse-text-color-on-primary: #ffffff; /* Text on primary bg */

    /* Typography */

    --epulse-font-weight-light: 300;
    --epulse-font-weight-normal: 400;
    --epulse-font-weight-bold: 700;

    /* Sizing & Spacing */
    --epulse-border-radius-soft: 20px;
    --epulse-spacing-unit: 1rem; /* 10px, as base is 10px */
    
    /* Shadows */
    --epulse-shadow-soft: 0 4px 15px rgba(0, 0, 0, 0.08);
    --epulse-shadow-medium: 0 8px 25px rgba(0, 0, 0, 0.1);

    /* Transitions */
    --epulse-transition-fast: all 0.2s ease-in-out;
    --epulse-transition-smooth: all 0.3s ease-in-out;
}

/* Base HTML and Body Styles */
html {
    font-size: 60%; /* Base 10px for scalable typography (1rem = 10px) */
    scroll-behavior: smooth;
}

body {

    font-size: 1.6rem; /* Default text size (16px) */
    line-height: 1.6;
    color: var(--epulse-text-color-primary);
    background-color: var(--epulse-color-background-subtle);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography Hierarchy */
h1, h2, h3 {
    font-weight: var(--epulse-font-weight-bold);
    color: var(--epulse-text-color-primary);
    margin-top: 0;
}

h1 {
    font-size: 3.2rem; /* 32px */
    margin-bottom: calc(var(--epulse-spacing-unit) * 2); /* 20px */
}

h2 {
    font-size: 2.8rem; /* 28px */
    margin-bottom: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
}

h3 {
    font-size: 2.2rem; /* 22px */
    margin-bottom: var(--epulse-spacing-unit); /* 10px */
}

p {
    margin-bottom: calc(var(--epulse-spacing-unit) * 1.5);
    color: var(--epulse-text-color-secondary);
}

a {
    color: var(--epulse-color-primary);
    text-decoration: none;
    transition: var(--epulse-transition-fast);
}

a:hover {
    color: var(--epulse-color-primary-darker);
    text-decoration: underline;
}

/* Utility Classes */
.epulse-container {
    width: 90%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
    padding-right: calc(var(--epulse-spacing-unit) * 1.5);
}

.epulse-text-center {
    text-align: center;
}

/* Pill Buttons */
.epulse-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--epulse-spacing-unit) * 1.2) calc(var(--epulse-spacing-unit) * 2.5); /* 12px 25px */
    font-size: 1.6rem; /* 16px */
    font-weight: var(--epulse-font-weight-bold);
    border-radius: var(--epulse-border-radius-soft); /* Pill shape */
    border: 1px solid transparent;
    cursor: pointer;
    transition: var(--epulse-transition-smooth);
    text-decoration: none;
    box-shadow: var(--epulse-shadow-soft);
}

.epulse-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--epulse-shadow-medium);
    text-decoration: none;
}

.epulse-button--primary {
    background-color: var(--epulse-color-primary);
    color: var(--epulse-text-color-on-primary);
    border-color: var(--epulse-color-primary);
}

.epulse-button--primary:hover {
    background-color: var(--epulse-color-primary-darker);
    border-color: var(--epulse-color-primary-darker);
    color: var(--epulse-text-color-on-primary);
}

.epulse-button--secondary {
    background-color: var(--epulse-color-background-light);
    color: var(--epulse-color-primary);
    border-color: var(--epulse-color-primary);
}

.epulse-button--secondary:hover {
    background-color: var(--epulse-color-primary);
    color: var(--epulse-text-color-on-primary);
}

.epulse-button i {
    margin-right: calc(var(--epulse-spacing-unit) * 0.8); /* 8px */
}

/* Store Banner Section */
.epulse-store-banner {
    background-color: var(--epulse-color-background-light);
    padding: calc(var(--epulse-spacing-unit) * 4) 0; /* 40px */
    margin-bottom: calc(var(--epulse-spacing-unit) * 3); /* 30px */
    box-shadow: var(--epulse-shadow-soft);
}

.epulse-store-banner__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.epulse-store-banner__profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--epulse-spacing-unit) * 2); /* 20px */
}

.epulse-store-banner__avatar-wrapper {
    width: 120px; /* 120px */
    height: 120px;
    border-radius: 50%; /* Circle */
    overflow: hidden;
    box-shadow: var(--epulse-shadow-medium);
    border: 3px solid var(--epulse-color-primary);
}

.epulse-store-banner__avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.epulse-store-banner__info h1 {
    font-size: 3rem; /* 30px */
    margin-bottom: calc(var(--epulse-spacing-unit) * 1); /* 10px */
}

.epulse-store-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
    margin-top: calc(var(--epulse-spacing-unit) * 2); /* 20px */
    justify-content: center;
}

/* Store Details Section */
.epulse-store-details {
    padding: calc(var(--epulse-spacing-unit) * 3) 0; /* 30px */
    margin-bottom: calc(var(--epulse-spacing-unit) * 3);
}

.epulse-store-details__title {
    text-align: center;
    margin-bottom: calc(var(--epulse-spacing-unit) * 3); /* 30px */
    position: relative;
}
.epulse-store-details__title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 3px;
    background-color: var(--epulse-color-accent);
    border-radius: var(--epulse-border-radius-soft);
}


.epulse-info-card-grid {
    display: grid;
    grid-template-columns: 1fr; /* Single column for mobile */
    gap: calc(var(--epulse-spacing-unit) * 2.5); /* 25px */
}

.epulse-info-card {
    background-color: var(--epulse-color-background-light);
    padding: calc(var(--epulse-spacing-unit) * 2.5); /* 25px */
    border-radius: var(--epulse-border-radius-soft);
    box-shadow: var(--epulse-shadow-soft);
    transition: var(--epulse-transition-smooth);
}

.epulse-info-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--epulse-shadow-medium);
}

.epulse-info-card__title {
    font-size: 2rem; /* 20px */
    color: var(--epulse-color-primary);
    margin-bottom: var(--epulse-spacing-unit); /* 10px */
}

.epulse-info-card__title i {
    margin-right: var(--epulse-spacing-unit); /* 10px */
    color: var(--epulse-color-accent);
}

.epulse-info-card__content p {
    font-size: 1.5rem; /* 15px */
    line-height: 1.7;
    color: var(--epulse-text-color-secondary);
}

/* Product Controls: Filters & Sorting */
.epulse-product-controls {
    display: flex;
    flex-direction: column;
    gap: calc(var(--epulse-spacing-unit) * 2); /* 20px */
    margin-bottom: calc(var(--epulse-spacing-unit) * 3); /* 30px */
    padding: calc(var(--epulse-spacing-unit) * 2); /* 20px */
    background-color: var(--epulse-color-background-light);
    border-radius: var(--epulse-border-radius-soft);
    box-shadow: var(--epulse-shadow-soft);
}

.epulse-product-controls__filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--epulse-spacing-unit); /* 10px */
    align-items: center;
}

.epulse-button--filter {
    background-color: var(--epulse-color-background-subtle);
    color: var(--epulse-text-color-secondary);
    border: 1px solid var(--epulse-color-border);
    padding: var(--epulse-spacing-unit) calc(var(--epulse-spacing-unit) * 2); /* 10px 20px */
    font-size: 1.4rem; /* 14px */
}

.epulse-button--filter.is-active,
.epulse-button--filter:hover {
    background-color: var(--epulse-color-accent);
    color: var(--epulse-text-color-on-primary);
    border-color: var(--epulse-color-accent);
}

.epulse-product-controls__sort-wrapper {
    position: relative;
}

.epulse-product-controls__sort-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: calc(var(--epulse-spacing-unit) * 1.2) calc(var(--epulse-spacing-unit) * 4) calc(var(--epulse-spacing-unit) * 1.2) calc(var(--epulse-spacing-unit) * 1.5); /* 12px 40px 12px 15px */
    border: 1px solid var(--epulse-color-border);
    border-radius: var(--epulse-border-radius-soft);
    font-size: 1.5rem; /* 15px */
    background-color: var(--epulse-color-background-light);
    cursor: pointer;
    width: 100%; /* Full width on mobile */
    color: var(--epulse-text-color-primary);
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007bff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right calc(var(--epulse-spacing-unit) * 1.5) center; /* 15px from right */
    background-size: 1.2rem; /* 12px */
}


/* Product Showcase Section */
.epulse-product-showcase {
    padding: calc(var(--epulse-spacing-unit) * 3) 0; /* 30px */
}

.epulse-product-showcase__main-title {
    text-align: center;
    margin-bottom: calc(var(--epulse-spacing-unit) * 4); /* 40px */
    position: relative;
}

.epulse-product-showcase__main-title::after {
    content: '';
    position: absolute;
    bottom: -15px; /* Adjusted position */
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: var(--epulse-color-primary);
    border-radius: var(--epulse-border-radius-soft);
}

.epulse-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Responsive columns */
    gap: calc(var(--epulse-spacing-unit) * 2.5); /* 25px */
}

/* Product Card */
.epulse-product-card {
    background-color: var(--epulse-color-background-light);
    border-radius: var(--epulse-border-radius-soft);
    overflow: hidden;
    box-shadow: var(--epulse-shadow-soft);
    transition: var(--epulse-transition-smooth);
    display: flex;
    flex-direction: column;
    position: relative; /* For badges */

}

.epulse-product-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--epulse-shadow-medium);
}

.epulse-product-card__image-link {
    display: block;
    overflow: hidden; /* Ensures image zoom stays within bounds */
}

.epulse-product-card__image {
    width: 100%;
    height: 250px !important; /* Fixed height for consistency */
    object-fit: fill; /* Use 'contain' for electronics, 'cover' for apparel etc. */
    transition: transform 0.4s ease;
    background-color: #f0f0f0; /* Subtle bg for images */
    padding: var(--epulse-spacing-unit);
    border-radius: 20px;
}

.epulse-product-card:hover .epulse-product-card__image {
    transform: scale(1.07);
}

.epulse-product-card__details {
    padding: calc(var(--epulse-spacing-unit) * 2); /* 20px */
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allows footer to stick to bottom if cards have varying content height */
}

.epulse-product-card__name {
    font-size: 1.9rem; /* 19px */
    font-weight: var(--epulse-font-weight-bold);
    color: var(--epulse-text-color-primary);
    margin-bottom: var(--epulse-spacing-unit); /* 10px */
    line-height: 1.3;
    /* For text truncation if needed:
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 2.6em; /* Adjust based on line-height and font-size */
}

.epulse-product-card__stock-info {
    font-size: 1.4rem; /* 14px */
    margin-bottom: var(--epulse-spacing-unit); /* 10px */
}
.epulse-product-card__stock-info--low { color: var(--epulse-color-danger); font-weight: var(--epulse-font-weight-bold); }
.epulse-product-card__stock-info--medium { color: var(--epulse-color-warning); }
.epulse-product-card__stock-info--high { color: var(--epulse-color-success); }


.epulse-product-card__footer {
    margin-top: auto; /* Pushes footer to the bottom */
    padding-top: var(--epulse-spacing-unit); /* 10px, space above price */
}

.epulse-product-card__price-section {
    display: flex;
    align-items: baseline; /* Aligns prices nicely if one is struck through */
    gap: var(--epulse-spacing-unit); /* 10px */
    margin-top: -15px ;
}

.epulse-product-card__price--current {
    font-size: 2rem; /* 20px */
    font-weight: var(--epulse-font-weight-bold);
    color: var(--epulse-color-success);
}

.epulse-product-card__price--original {
    font-size: 1.5rem; /* 15px */
    color: var(--epulse-text-color-muted);
    text-decoration: line-through;
}

.epulse-product-card__badge {
    position: absolute;
    top: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
    right: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
    padding: calc(var(--epulse-spacing-unit) * 0.5) var(--epulse-spacing-unit); /* 5px 10px */
    font-size: 1.3rem; /* 13px */
    font-weight: var(--epulse-font-weight-bold);
    color: var(--epulse-text-color-on-primary);
    border-radius: calc(var(--epulse-border-radius-soft) / 2); /* Slightly less rounded than buttons */
    z-index: 1;
}

.epulse-product-card__badge--new {
    background-color: var(--epulse-color-accent);
}

.epulse-product-card__badge--sale {
    background-color: var(--epulse-color-danger);
}

.epulse-product-grid__empty-message {
    grid-column: 1 / -1; /* Span all columns */
    text-align: center;
    padding: calc(var(--epulse-spacing-unit) * 5) 0; /* 50px */
    font-size: 1.8rem; /* 18px */
    color: var(--epulse-text-color-muted);
}


/* Quantity Selector (if used on product page, not list) */
.epulse-quantity-control {
    display: flex;
    align-items: center;
    justify-content: center; /* Or space-between depending on context */
    margin-bottom: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
}

.epulse-quantity-control__button {
    width: 35px; /* 35px */
    height: 35px;
    border-radius: 50%; /* Circular */
    border: 1px solid var(--epulse-color-border);
    background-color: var(--epulse-color-background-light);
    color: var(--epulse-color-primary);
    font-size: 1.8rem; /* 18px */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--epulse-transition-fast);
}

.epulse-quantity-control__button:hover {
    background-color: var(--epulse-color-primary);
    color: var(--epulse-text-color-on-primary);
    border-color: var(--epulse-color-primary);
}

.epulse-quantity-control__input {
    width: 50px; /* 50px */
    text-align: center;
    border: 1px solid var(--epulse-color-border);
    border-radius: calc(var(--epulse-border-radius-soft) / 3); /* Slightly rounded */
    margin: 0 var(--epulse-spacing-unit); /* 10px */
    padding: calc(var(--epulse-spacing-unit) * 0.8); /* 8px */
    font-size: 1.6rem; /* 16px */
}

/* System Toast Notification */
.epulse-system-toast {
    position: fixed;
    top: calc(var(--epulse-spacing-unit) * 2); /* 20px */
    right: calc(var(--epulse-spacing-unit) * 2); /* 20px */
    background: var(--epulse-color-background-light);
    box-shadow: var(--epulse-shadow-medium);
    border-radius: calc(var(--epulse-border-radius-soft) / 2); /* 10px */
    max-width: 350px;
    width: calc(100% - var(--epulse-spacing-unit) * 4); /* Responsive width */
    z-index: 1050; /* High z-index */
    overflow: hidden;
    transform: translateX(110%); /* Start off-screen */
    opacity: 0;
    transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
    border-left-width: 5px;
    border-left-style: solid;
}

.epulse-system-toast.is-visible {
    transform: translateX(0);
    opacity: 1;
}

.epulse-system-toast--success { border-left-color: var(--epulse-color-success); }
.epulse-system-toast--error   { border-left-color: var(--epulse-color-danger); }
.epulse-system-toast--info    { border-left-color: var(--epulse-color-info); }

.epulse-system-toast__body {
    display: flex;
    padding: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
    align-items: flex-start;
}

.epulse-system-toast__icon {
    margin-right: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
    font-size: 2.2rem; /* 22px */
    line-height: 1; /* Align icon better */
}
.epulse-system-toast--success .epulse-system-toast__icon { color: var(--epulse-color-success); }
.epulse-system-toast--error .epulse-system-toast__icon   { color: var(--epulse-color-danger); }
.epulse-system-toast--info .epulse-system-toast__icon    { color: var(--epulse-color-info); }

.epulse-system-toast__text-content {
    flex: 1;
}

.epulse-system-toast__title {
    margin: 0 0 calc(var(--epulse-spacing-unit) * 0.5); /* 5px */
    font-size: 1.7rem; /* 17px */
    font-weight: var(--epulse-font-weight-bold);
    color: var(--epulse-text-color-primary);
}

.epulse-system-toast__message {
    margin: 0;
    font-size: 1.5rem; /* 15px */
    color: var(--epulse-text-color-secondary);
}

.epulse-system-toast__close-button {
    background: none;
    border: none;
    color: var(--epulse-text-color-muted);
    cursor: pointer;
    font-size: 2rem; /* 20px */
    padding: calc(var(--epulse-spacing-unit) * 0.5); /* 5px */
    line-height: 1;
    margin-left: calc(var(--epulse-spacing-unit) * 1); /* 10px */
}
.epulse-system-toast__close-button:hover {
    color: var(--epulse-text-color-primary);
}


/* Floating Action Buttons (FAB) */
.epulse-fab {
    position: fixed;
    width: 45px; /* 55px */
    height: 45px;
    background-color: var(--epulse-color-primary);
    border-radius: 50%; /* Circle */
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: var(--epulse-shadow-medium);
    text-decoration: none;
    z-index: 1000;
    transition: var(--epulse-transition-smooth);
    right: calc(var(--epulse-spacing-unit) * 2.5); /* 25px */
}

.epulse-fab:hover {
    background-color: var(--epulse-color-primary-darker);
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

.epulse-fab__icon {
    font-size: 2.4rem; /* 24px */
    color: var(--epulse-text-color-on-primary);
    line-height: 1;
    user-select: none;
}

.epulse-fab--add {
    bottom: calc(var(--epulse-spacing-unit) * 8.5); /* 85px */
}

.epulse-fab--bookmark {
    bottom: calc(var(--epulse-spacing-unit) * 18); /* 150px - adjusted for potential overlap */
    background-color: var(--epulse-color-accent);
}
.epulse-fab--bookmark:hover {
    background-color: var(--epulse-color-info); /* Darker shade of accent */
}



/* Animations (using existing keyframes) */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Apply to cards - ScrollReveal will handle the staggered effect */
.epulse-product-card, .epulse-info-card {
    /* The animation will be applied by ScrollReveal if you want to keep it global,
       otherwise, remove and let SR handle it completely.
       For now, assuming SR handles it better for staggering. */
}


/* Responsive Adjustments */

/* Tablets and Small Desktops */
@media (min-width: 768px) {
    .epulse-store-banner__content {
        flex-direction: row;
        text-align: left;
    }
    .epulse-store-banner__profile {
        flex-direction: row;
        align-items: center;
        gap: calc(var(--epulse-spacing-unit) * 3); /* 30px */
    }
    .epulse-store-banner__avatar-wrapper {
        width: 150px; /* 150px */
        height: 150px;
    }
    .epulse-store-banner__info h1 {
        font-size: 3.6rem; /* 36px */
    }
    .epulse-store-banner__actions {
        justify-content: flex-start;
        margin-top: 0; /* Adjust if layout changes significantly */
    }

    .epulse-info-card-grid {
        grid-template-columns: repeat(2, 1fr); /* Two columns for tablets */
    }
    
    .epulse-product-controls {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .epulse-product-controls__sort-select {
        width: 250px; /* Fixed width for sort on larger screens */
    }

    .epulse-product-grid {
         /* Already good with auto-fill, minmax */
    }
}

/* Larger Desktops */
@media (min-width: 992px) {
    .epulse-info-card-grid {
         /* Can go to 3 columns if content is concise enough */
         /* grid-template-columns: repeat(3, 1fr); */
    }
     .epulse-product-grid {
        /* grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); Adjust minmax if desired */
    }
}

@media (max-width: 576px) {
    h1 { font-size: 2.8rem; } /* 28px */
    h2 { font-size: 2.4rem; } /* 24px */
    h3 { font-size: 2.0rem; } /* 20px */

    .epulse-button {
        padding: calc(var(--epulse-spacing-unit) * 1) calc(var(--epulse-spacing-unit) * 2); /* 10px 20px */
        font-size: 1.5rem; /* 15px */
    }
    
    .epulse-product-card__name {
        font-size: 1.7rem; /* 17px */
    }
    .epulse-product-card__price--current {
        font-size: 1.8rem; /* 18px */
    }
    .epulse-product-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
    }
     .epulse-fab--add {
        bottom: calc(var(--epulse-spacing-unit) * 7.5); /* 75px */
    }
    .epulse-fab--bookmark {
        bottom: calc(var(--epulse-spacing-unit) * 13.5); /* 135px */
    }
    .epulse-scroll-to-top {
        bottom: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
        right: calc(var(--epulse-spacing-unit) * 1.5); /* 15px */
        width: 45px;
        height: 45px;
    }
}


@media (max-width: 700px) {
    .epulse-product-grid {
       display: flex;
       justify-content: center;
         flex-wrap: wrap;
    

    }

.epulse-product-card {
 width: 40vw !important; /* 40% of viewport width */

}

    
}