    
        /* --- Global Styles & Design Guidelines Implementation --- */
        :root {
            --epulse-color-primary: #007BFF; /* Bright, clean blue */
            --epulse-color-secondary: #6c757d; /* Muted gray for secondary text/elements */
            --epulse-color-accent: #28a745; /* Green for success, sales, positive actions */
            --epulse-color-warning: #ffc107; /* Yellow for warnings, low stock */
            --epulse-color-danger: #dc3545; /* Red for errors, out of stock */
            --epulse-color-text-primary: #212529; /* Dark gray for main text */
            --epulse-color-text-secondary: #495057;
            --epulse-color-background-light: #FFFFFF; /* White background for cards/sections */
            --epulse-color-background-main: #f8f9fa; /* Very light gray for page background */
            --epulse-color-border: #dee2e6;

            --epulse-font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            --epulse-font-weight-bold: 700;
            --epulse-font-weight-normal: 400;

            --epulse-border-radius-soft: 20px; /* Specified rounded corners */
            --epulse-shadow-soft: 0 6px 18px rgba(0, 0, 0, 0.07); /* Soft shadow */
            --epulse-transition-fast: all 0.2s ease-in-out;
        }

        html {
            font-size: 60%; /* Base 10px for scalable typography (1rem = 10px) */
            scroll-behavior: smooth; /* Subtle scroll animation */
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        body {
            font-family: var(--epulse-font-family-base);
            font-size: 1.6rem; /* Default to 16px (1.6 * 10px) */
            line-height: 1.65;
            color: var(--epulse-color-text-primary);
            background-color: var(--epulse-color-background-main);
            margin: 0;
            padding: 0;
        }

        /* Typographic Hierarchy */
        h1, .epulse-page-title {
            font-size: clamp(2.8rem, 4vw, 3.6rem); /* Responsive font size */
            font-weight: var(--epulse-font-weight-bold);
            color: var(--epulse-color-primary);
            margin-bottom: 1.5rem;
        }
        h2, .epulse-section-title {
            font-size: clamp(2.2rem, 3vw, 2.8rem);
            font-weight: var(--epulse-font-weight-bold);
            margin-bottom: 2rem;
        }
        h3, .epulse-subsection-title, .product-card__name a {
            font-size: clamp(1.8rem, 2.5vw, 2.2rem);
            font-weight: var(--epulse-font-weight-bold);
            color: var(--epulse-color-text-primary);
            margin-bottom: 1rem;
        }
        .product-card__name a { font-size: 1.8rem; transition: var(--epulse-transition-fast); }
        .product-card__name a:hover { color: var(--epulse-color-primary); }


        a { color: var(--epulse-color-primary); text-decoration: none; transition: var(--epulse-transition-fast); }
        a:hover { color: darken(var(--epulse-color-primary), 10%); }

        /* Main Layout Container */
        .epulse-main-container {
            width: 92%;
            max-width: 1300px; /* Slightly wider max-width for modern layouts */
            margin: 2rem auto; /* Top/bottom margin for spacing from header/footer */
            padding: 0 1rem; /* Horizontal padding for smaller screens */
        }

        /* Pill-shaped Buttons */
        .epulse-button, .product-card__action-button {
            display: inline-block;
            background-color: var(--epulse-color-primary);
            color: var(--epulse-color-background-light);
            padding: 1.2rem 3rem; /* Generous padding */
            border: none;
            border-radius: 50px; /* Pill shape */
            font-size: 1.6rem;
            font-weight: var(--epulse-font-weight-bold);
            text-align: center;
            cursor: pointer;
            transition: var(--epulse-transition-fast);
            box-shadow: 0 4px 10px rgba(0, 123, 255, 0.2); /* Subtle shadow for buttons */
            text-transform: capitalize;
        }
        .epulse-button:hover, .product-card__action-button:hover {
            background-color: darkgreen;
            transform: translateY(-2px); /* Slight lift on hover */
            box-shadow: 0 6px 12px rgba(0, 123, 255, 0.3);
        }
        .epulse-button--secondary {
            background-color: var(--epulse-color-secondary);
            box-shadow: 0 4px 10px rgba(108, 117, 125, 0.2);
        }
        .epulse-button--secondary:hover {
            background-color: darken(var(--epulse-color-secondary), 8%);
            box-shadow: 0 6px 12px rgba(108, 117, 125, 0.3);
        }
        .epulse-button--disabled, .product-card__action-button--disabled {
            background-color: #adb5bd; /* Muted color for disabled state */
            color: #6c757d;
            cursor: not-allowed;
            box-shadow: none;
        }
        .epulse-button--disabled:hover, .product-card__action-button--disabled:hover {
            transform: none;
            background-color: #adb5bd;
        }


        /* Page Header & Breadcrumbs */
        .epulse-page-header-area {
            background-color: var(--epulse-color-background-light);
            padding: 2rem;
            margin-bottom: 2.5rem;
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
        }
        .epulse-breadcrumb-nav { font-size: 1.4rem; color: var(--epulse-color-text-secondary); }
        .epulse-breadcrumb-nav a { color: var(--epulse-color-text-secondary); }
        .epulse-breadcrumb-nav a:hover { color: var(--epulse-color-primary); }
        .epulse-breadcrumb-nav .epulse-breadcrumb-separator { margin: 0 0.6rem; }

        /* Live Search Bar Styling */
        .epulse-live-search-wrapper {
            margin-bottom: 3rem;
            background-color: var(--epulse-color-background-light);
            padding: 2.5rem;
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
        }
        .epulse-live-search-form { display: flex; gap: 1rem; }
        .epulse-live-search-input {
            flex-grow: 1;
            padding: 1.4rem 2.2rem;
            font-size: 1.6rem;
            border: 1px solid var(--epulse-color-border);
            border-radius: 50px; /* Pill shape for input */
            transition: var(--epulse-transition-fast);
        }
        .epulse-live-search-input:focus {
            outline: none;
            border-color: var(--epulse-color-primary);
            box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15); /* Focus glow */
        }
        .epulse-search-feedback-display { margin-top: 1.5rem; } /* Area for "Searching..." messages */
        .search-feedback { padding: 1.5rem; border-radius: 10px; text-align:center; font-size: 1.6rem;}
        .search-feedback--no-results { background-color: #fff3cd; color: #664d03; border: 1px solid #ffecb5;}
        .search-feedback--error { background-color: #f8d7da; color: #58151c; border: 1px solid #f1c0c7;}
        .search-feedback--prompt { background-color: #e9ecef; color: #343a40; border: 1px solid #ced4da;}
        .search-feedback--loading { font-style: italic; color: var(--epulse-color-secondary); }


        /* Shop Layout: Sidebar & Product Grid */
        .epulse-shop-layout-container { display: flex; gap: 3rem; align-items: flex-start; }
        .epulse-shop-sidebar {
            flex: 0 0 300px; /* Sidebar width */
            background-color: var(--epulse-color-background-light);
            padding: 2.5rem;
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
            position: sticky; /* Make sidebar sticky */
            top: 2rem; /* Adjust based on your header height */
        }
        .epulse-shop-product-main-area { flex: 1; min-width: 0; /* Prevents flexbox overflow */ }

        /* Filter Panel Styling */
        .epulse-filter-group { margin-bottom: 3rem; }
        .epulse-filter-group__title {
            font-size: 1.8rem;
            font-weight: var(--epulse-font-weight-bold);
            margin-bottom: 1.5rem;
            padding-bottom: 0.8rem;
            border-bottom: 1px solid var(--epulse-color-border);
            color: var(--epulse-color-primary);
        }
        .epulse-filter-group__list { list-style: none; padding: 0; margin: 0; }
        .epulse-filter-group__item a, .epulse-filter-group__item label {
            display: block;
            padding: 1rem 1.5rem; /* Increased padding for easier clicking */
            color: var(--epulse-color-text-secondary);
            font-size: 1.5rem;
            transition: var(--epulse-transition-fast);
            border-radius: 10px; /* Softer radius for filter links */
            margin-bottom: 0.5rem; /* Spacing between items */
        }
        .epulse-filter-group__item a:hover, .epulse-filter-group__item label:hover {
            color: var(--epulse-color-primary);
            background-color: rgba(0, 123, 255, 0.05); /* Subtle hover background */
        }
        .epulse-filter-group__item a.epulse-filter-link--active {
            color: var(--epulse-color-primary);
            font-weight: var(--epulse-font-weight-bold);
            background-color: rgba(0, 123, 255, 0.1); /* Highlight for active filter */
        }
        .epulse-filter-checkbox-label { display: flex; align-items: center; cursor: pointer; }
        .epulse-filter-checkbox { margin-right: 1rem; transform: scale(1.2); accent-color: var(--epulse-color-primary); }
        .epulse-price-filter-form input[type="number"]{ width: calc(50% - 1.5rem); padding: 0.8rem 1rem; border-radius: 10px; border: 1px solid var(--epulse-color-border); margin-right: 0.5rem;}
        .epulse-price-filter-form button { padding: 0.8rem 1.5rem; font-size: 1.4rem; }


        /* Product Controls: Sort Dropdown, Results Count */
        .epulse-product-view-configurator {
            display: flex;
            justify-content: center !important;
            align-items: center;
            margin-bottom: 2.5rem;
        background-color: var(--epulse-color-background-light);
            padding: 1.5rem 2rem;
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
        }
        .epulse-product-view-configurator__sort-control select {
            padding: 1rem 1.5rem;
            border-radius: 50px; /* Pill shape for select */
            border: 1px solid var(--epulse-color-border);
            font-size: 1.5rem;
            background-color: var(--epulse-color-background-light); /* Ensure consistent background */
        }
        .epulse-product-view-configurator__results-summary { font-size: 1.5rem; color: var(--epulse-color-text-secondary); }

        /* Product Grid & Card Styling */
        .epulse-product-grid, #epulseLiveProductDisplay { /* Target for AJAX updates */
            display: flex;
            justify-content: center;
       flex-wrap: wrap;
        }
        .product-card {
            background-color: var(--epulse-color-background-light);
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
            overflow: hidden; /* Ensure content respects rounded corners */
            display: flex;
            flex-direction: column;
            transition: transform 0.3s ease, box-shadow 0.3s ease; /* Enhanced hover effect */
            width: 300px !important;
            margin: 10px;
        }
        .product-card:hover {
            transform: translateY(-6px); /* More noticeable lift */
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); /* Stronger shadow on hover */
        }

        .product-card__image {
            width: 100%;
            height: 240px !important; /* Fixed height for image consistency */
            object-fit: fill; /* Cover ensures image fills space without distortion */
            display: block;
    
            border-radius: 20px;
        }
        .product-card__badge--discount {
            position: absolute;
            top: 15px;
            left: 15px;
            background-color: var(--epulse-color-accent);
            color: var(--epulse-color-background-light);
            padding: 0.6rem 1.2rem;
            font-size: 1.3rem;
            font-weight: var(--epulse-font-weight-bold);
            border-radius: 50px; /* Pill shape for badge */
            z-index: 1;
        }
        .product-card__info { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
        .product-card__store-name {
            font-size: 1.3rem;
            color: var(--epulse-color-text-secondary);
            margin-bottom: 1rem;
            display: block;
        }
        .product-card__stock-status {
            font-size: 1.4rem;
            margin-bottom: 1rem;
            font-weight: 500;
        }
        .product-card__stock-status--low { color: var(--epulse-color-warning); font-weight: var(--epulse-font-weight-bold); }
        .product-card__stock-status--out-of-stock { color: var(--epulse-color-danger); font-weight: var(--epulse-font-weight-bold); }

        .product-card__price-details { margin-top: auto; /* Pushes price to the bottom */ padding-top:1rem; border-top: 1px solid #f0f0f0; }
        .product-card__price--current {
            font-size: 2rem; /* Larger current price */
            font-weight: var(--epulse-font-weight-bold);
            color: var(--epulse-color-primary);
            margin-right: 1rem;
        }
        .product-card__price--original {
            font-size: 1.5rem;
            color: var(--epulse-color-text-secondary);
            text-decoration: line-through;
        }
        .product-card__action-button { width: 100%; margin-top: 1.5rem; /* Full width button within card padding */ }


        /* Pagination Styling */
        .epulse-pagination-controls {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 3rem 0;
            margin-top: 3rem;
        }
        .epulse-pagination-controls__link, .epulse-pagination-controls__ellipsis {
            margin: 0 0.6rem;
            padding: 1rem 1.8rem; /* Comfortable padding */
            border: 1px solid var(--epulse-color-border);
            color: var(--epulse-color-primary);
            border-radius: 10px; /* Softly rounded, not pill */
            transition: var(--epulse-transition-fast);
            font-size: 1.5rem;
        }
        .epulse-pagination-controls__link:hover {
            background-color: var(--epulse-color-primary);
            color: var(--epulse-color-background-light);
            border-color: var(--epulse-color-primary);
            transform: translateY(-1px);
        }
        .epulse-pagination-controls__link--active {
            background-color: var(--epulse-color-primary);
            color: var(--epulse-color-background-light);
            border-color: var(--epulse-color-primary);
            font-weight: var(--epulse-font-weight-bold);
        }
        .epulse-pagination-controls__nav-arrow { font-weight: var(--epulse-font-weight-bold); font-size: 1.8rem; }

        /* Recommended Products Carousel (Swiper) */
        .epulse-recommended-products-zone {
            padding: 4rem 0; /* More vertical padding */
            background-color: var(--epulse-color-background-light);
            margin-top: 4rem;
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
        }
        .epulse-recommended-products-zone .epulse-section-title { text-align: center; margin-bottom: 3rem; }
        .epulse-products-swiper-carousel .swiper-slide { height: auto; display: flex; } /* Ensure cards in slider align well */
        .epulse-products-swiper-carousel .product-card { margin-bottom: 1rem; width:100%; } /* Ensure full width within slide */
        .swiper-button-next, .swiper-button-prev { color: var(--epulse-color-primary); transition: var(--epulse-transition-fast); }
        .swiper-button-next:hover, .swiper-button-prev:hover { color: darken(var(--epulse-color-primary), 15%); transform: scale(1.1); }
        .swiper-button-next::after, .swiper-button-prev::after { font-size: 2.8rem; /* Larger arrows */ }

        /* Empty State Message Styling */
        .epulse-empty-state-indicator {
            padding: 4rem 2rem; /* More padding */
            text-align: center;
            background-color: var(--epulse-color-background-light);
            border-radius: var(--epulse-border-radius-soft);
            box-shadow: var(--epulse-shadow-soft);
            margin: 3rem 0;
            border: 1px dashed var(--epulse-color-border); /* Dashed border for distinction */
        }
        .epulse-empty-state-indicator p { font-size: 1.8rem; margin-bottom: 1.5rem; color: var(--epulse-color-text-secondary); }
        .epulse-empty-state-indicator .epulse-button { margin-top: 1rem; }

        /* Utility class for visually hidden elements (accessibility) */
        .epulse-visually-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            border: 0;
        }

        /* Subtle Scroll Animations with Intersection Observer */
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(30px); /* Start slightly lower */
            transition: opacity 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }


        /* Responsive Adjustments */
        @media (max-width: 992px) { /* Tablet and smaller */
            .epulse-shop-layout-container { flex-direction: column; }
            .epulse-shop-sidebar {
                flex: 0 0 auto; /* Allow sidebar to take full width */
                width: 100%;
                margin-bottom: 2.5rem;
                position: static; /* Remove sticky positioning on smaller screens */
            }
            .epulse-product-grid, #epulseLiveProductDisplay { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 2rem;}
            .product-card__image { height: 220px; }
        }

        @media (max-width: 768px) { /* Mobile */
            html { font-size: 58%; } /* Slightly adjust base for mobile */
            h1, .epulse-page-title { font-size: 2.6rem; }
            h2, .epulse-section-title { font-size: 2rem; }
            .epulse-product-view-configurator { flex-direction: column; gap: 1.5rem; align-items:stretch; }
            .epulse-product-view-configurator__sort-control select { width: 100%; }
            .epulse-product-grid, #epulseLiveProductDisplay { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.5rem; }
            .product-card__image { height: 200px; }
            .product-card__info { padding: 1.5rem; }
            .product-card__price--current { font-size: 1.8rem; }
            .epulse-button, .product-card__action-button { padding: 1rem 2.5rem; font-size: 1.5rem;}
            .epulse-live-search-form { flex-direction: column; }
            .epulse-live-search-form .epulse-button { width:100%; }
            .epulse-pagination-controls__link, .epulse-pagination-controls__ellipsis { padding: 0.8rem 1.2rem; margin: 0 0.4rem; font-size:1.4rem; }
        }

        @media (max-width: 576px) { /* Smallest Mobile */
             .epulse-product-grid, #epulseLiveProductDisplay { grid-template-columns: 1fr; } /* Single column */
             .product-card__name a { font-size: 1.7rem; }
             .epulse-page-header-area, .epulse-live-search-wrapper, .epulse-shop-sidebar, .epulse-product-view-configurator { padding: 1.5rem; }
        }
    
