    
        /* --- Base Styles --- */
        html {
            font-size: 60%; /* Base 10px for easy rem calculations */
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Open Sans', sans-serif;
            font-size: 1.6rem; /* Default to 16px */
            line-height: 1.6;
            color: #333;
            background-color: #f8f9fa; /* Bright, clean background */
            margin: 0;
            padding: 0;
        }

        .epm-container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem 0;
        }

        /* --- Typography --- */
        h1, h2, h3 {
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 1.5rem;
            color: #212529;
        }

        h1 { font-size: 2.8rem; } /* Was 2.4rem, made slightly larger for impact */
        h2 { font-size: 2.4rem; } /* Was 2.0rem */
        h3, .epm-section-title--h3 { font-size: 2rem; } /* Was 1.8rem */

        p { margin-bottom: 1.5rem; }
        a { color: #007bff; text-decoration: none; }
        a:hover { color: #0056b3; text-decoration: underline; }

        /* --- Buttons --- */
        .epm-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 1.2rem 2.5rem; /* Adjusted for pill shape */
            font-size: 1.5rem; /* Slightly smaller for better fit in pill */
            font-weight: 600;
            border: none;
            border-radius: 50px; /* Pill shape */
            cursor: pointer;
            text-transform: capitalize;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
            text-decoration: none !important; /* Override link underline */
        }
        .epm-button i { margin-right: 0.8rem; }
        .epm-button:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15); }
        .epm-button:active { transform: translateY(0); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); }

        .epm-button--primary { background-color: #007bff; color: white; }
        .epm-button--primary:hover { background-color: #0056b3; }
        .epm-button--secondary { background-color: #6c757d; color: white; }
        .epm-button--secondary:hover { background-color: #5a6268; }
        .epm-button--success { background-color: #28a745; color: white; } /* For WhatsApp */
        .epm-button--success:hover { background-color: #1e7e34; }
        .epm-button--disabled { background-color: #e9ecef; color: #6c757d; cursor: not-allowed; box-shadow: none; }
        .epm-button--disabled:hover { transform: none; box-shadow: none; }

        /* --- Cards & Sections --- */
        .epm-card {
            background-color: #ffffff;
            border-radius: 20px;
            padding: 2.5rem; /* Increased padding */
            margin-bottom: 2.5rem;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); /* Softer, slightly larger shadow */
        }

        /* --- Product Detail Page Specific --- */
        .epm-product-detail-page {
            padding-top: 2rem;
        }
        
        /* Data attributes container - no visual styling needed */
        .epm-product-data-attributes { display: none; }

        .epm-product-detail__grid {
            display: grid;
            grid-template-columns: 1fr; /* Mobile: single column */
            gap: 3rem; /* Increased gap */
            background-color: #ffffff;
            border-radius: 20px;
            padding: 3rem;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
            margin-bottom: 3rem;
        }

        @media (min-width: 768px) {
            .epm-product-detail__grid {
                grid-template-columns: 1fr 1.2fr; /* Tablet & Desktop: two columns */
            }
        }
        @media (min-width: 992px) {
            .epm-product-detail__grid {
                grid-template-columns: 0.8fr 1fr; /* Desktop: adjust ratio slightly */
            }
        }


        /* Product Gallery */
        .epm-product-gallery__viewer {
            position: relative;
            overflow: hidden; /* For zoom effect */
            border-radius: 15px; /* Rounded corners for main image container */
            margin-bottom: 1.5rem;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            background-color: #fff; /* Ensure no background bleed on transparent images */
        }
        .epm-product-gallery__main-image {
            width: 100%;
            height: 400px;
          
            object-fit: fill; /* Changed from cover to contain for full product visibility */
            display: block;
            border-radius: 15px;
            transition: transform 0.4s ease, opacity 0.3s ease-in-out; /* Added opacity transition */
        }
        .epm-product-gallery__thumbnails {
            display: flex;
            gap: 1rem;
            overflow-x: auto; /* Allow horizontal scroll if many thumbnails */
            padding-bottom: 0.5rem; /* For scrollbar space */
            justify-content: center;
        }
        .epm-product-gallery__thumbnail {
            width: 80px;
            height: 80px;
            object-fit: cover;
            border-radius: 10px; /* Softer corners for thumbnails */
            cursor: pointer;
            border: 2px solid transparent;
            transition: border-color 0.3s ease, transform 0.2s ease;
            opacity: 0.7;
        }
        .epm-product-gallery__thumbnail:hover {
            opacity: 1;
            transform: scale(1.05);
        }
        .epm-product-gallery__thumbnail--active {
            border-color: #007bff;
            opacity: 1;
            box-shadow: 0 0 8px rgba(0, 123, 255, 0.5);
        }

        /* Product Info */
        .epm-product-info {
            display: flex;
            flex-direction: column;
        }
        .epm-product-info__header { margin-bottom: 2rem; }
        .epm-product-info__name { font-size: 3rem; line-height: 1.3; margin-bottom: 1rem; }
        .epm-product-info__meta-details {
            font-size: 1.4rem;
            color: #6c757d;
            margin-bottom: 1.5rem;
        }
        .epm-product-info__meta-details a { color: #007bff; font-weight: 600; }
        .epm-product-info__category-tag {
            display: inline-block;
            background-color: #e9ecef;
            color: #495057;
            padding: 0.3rem 0.8rem;
            border-radius: 50px; /* Pill shape for category */
            font-size: 1.2rem;
            margin-left: 1rem;
        }
        .epm-product-info__limited-offer {
            background-color: #fff3cd; /* Light yellow for offers */
            color: #856404;
            padding: 1rem 1.5rem;
            border-radius: 10px; /* Softer corners */
            margin-bottom: 2rem;
            font-size: 1.5rem;
            display: inline-flex; /* To fit content */
            align-items: center;
            box-shadow: 0 2px 8px rgba(0,0,0,0.07);
        }
        .epm-product-info__limited-offer i { margin-right: 0.8rem; }

        /* Pricing & Stock Block */
        .epm-product-info__price-stock-block {
            display: flex;
            flex-direction: column; /* Stack price and stock on mobile */
            align-items: flex-start;
            gap: 1rem;
            margin-bottom: 2.5rem; /* Increased margin */
        }
        @media (min-width: 576px) { /* Side-by-side on larger screens */
            .epm-product-info__price-stock-block {
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
            }
        }

        .epm-product-pricing { display: flex; align-items: baseline; gap: 1rem; }
        .epm-product-pricing__current {
            font-size: 2.6rem; /* Prominent current price */
            font-weight: 700;
            color: #28a745; /* Green for current price */
        }
        .epm-product-pricing__original {
            font-size: 1.8rem;
            color: #6c757d;
            text-decoration: line-through;
        }
        .epm-product-pricing__negotiable {
            font-size: 2.2rem; /* Slightly smaller than current price */
            font-weight: 600;
            color: #17a2b8; /* Info color for negotiable */
        }
        .epm-product-stock {
            font-size: 1.5rem;
            padding: 0.5rem 1rem;
            border-radius: 50px; /* Pill shape */
            display: inline-flex;
            align-items: center;
        }
        .epm-product-stock i { margin-right: 0.5rem; }
        .epm-product-stock--in-stock { background-color: #d4edda; color: #155724; }
        .epm-product-stock--low-stock { background-color: #fff3cd; color: #856404; }
        .epm-product-stock--out-of-stock { background-color: #f8d7da; color: #721c24; }

        /* Quick View / Summary */
        .epm-product-quick-view { margin-bottom: 2.5rem; }
        .epm-product-quick-view__text { font-size: 1.5rem; color: #495057; }

        /* Variations / Options */
        .epm-product-options { margin-bottom: 2.5rem; }
        .epm-product-options__item { font-size: 1.5rem; margin-bottom: 0.8rem; }
        .epm-product-options__item strong { color: #343a40; }

        /* Actions */
        .epm-product-actions {
            display: flex;
            flex-direction: column; /* Stack buttons on mobile */
            gap: 1.5rem;
            margin-top: auto; /* Pushes actions to bottom if info content is short */
            padding-top: 2rem; /* Space above actions */
            border-top: 1px solid #eee; /* Subtle separator */
        }
        @media (min-width: 480px) { /* Side-by-side for slightly larger screens */
             .epm-product-actions {
                flex-direction: row;
                flex-wrap: wrap; /* Allow wrapping if too many buttons */
            }
        }


        /* Tabs */
        .epm-product-tabs {
            margin-top: 4rem; /* Increased top margin */
            background-color: #ffffff;
            border-radius: 20px;
            padding: 3rem;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
        }
        .epm-product-tabs__navigation {
            display: flex;
            gap: 0.5rem; /* Small gap between tab buttons */
            margin-bottom: 2.5rem;
            border-bottom: 1px solid #dee2e6;
            flex-wrap: wrap; /* Allow tabs to wrap on small screens */
        }
        .epm-product-tabs__trigger {
            padding: 1.2rem 2rem; /* Slightly adjusted padding */
            font-size: 1.6rem; /* Larger tab text */
            font-weight: 600;
            background-color: transparent;
            color: #495057;
            border: none;
            border-bottom: 3px solid transparent; /* For active indicator */
            cursor: pointer;
            transition: all 0.3s ease;
            border-radius: 0; /* No pill shape for tabs */
            box-shadow: none; /* No shadow for tabs */
        }
        .epm-product-tabs__trigger:hover {
            color: #007bff;
            border-bottom-color: #007bff40; /* Light hover indicator */
        }
        .epm-product-tabs__trigger--active {
            color: #007bff;
            border-bottom-color: #007bff;
        }
        .epm-product-tabs__panel { display: none; }
        .epm-product-tabs__panel--active { display: block; animation: epmFadeIn 0.5s ease; }
        
        @keyframes epmFadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .epm-product-tabs__description-content,
        .epm-specifications-list,
        .epm-keyword-tags {
            font-size: 1.5rem;
            line-height: 1.7;
        }
        .epm-specifications-list dt { font-weight: 600; color: #343a40; margin-top: 1rem; }
        .epm-specifications-list dd { margin-left: 0; margin-bottom: 1rem; color: #495057; }
        
        .epm-keyword-tags__tag {
            display: inline-block;
            background-color: #e9ecef;
            color: #495057;
            padding: 0.5rem 1.2rem;
            border-radius: 50px; /* Pill shape for keywords */
            margin-right: 0.8rem;
            margin-bottom: 0.8rem;
            font-size: 1.3rem;
        }

        /* --- Reviews Section --- */
        .epm-customer-reviews { margin-top: 4rem; }
        .epm-section-title { margin-bottom: 2.5rem; } /* Shared title styling */

        .epm-review-summary {
            display: flex;
            flex-direction: column; /* Stack on mobile */
            align-items: center; /* Center on mobile */
            gap: 1rem;
            padding: 2rem;
            background-color: #f0f6ff; /* Light blueish background for summary */
            border-radius: 15px;
            margin-bottom: 3rem;
            box-shadow: 0 4px 15px rgba(0,0,0,0.06);
        }
         @media (min-width: 576px) { /* Row layout for larger screens */
            .epm-review-summary {
                flex-direction: row;
                justify-content: center;
                align-items: center;
                gap: 2rem;
            }
        }

        .epm-star-rating { color: #ffc107; /* Gold for stars */ font-size: 1.8rem;}
        .epm-star-rating--large { font-size: 2.4rem; }
        .epm-star-rating i { margin: 0 0.1rem; } /* Small space between stars */

        .epm-review-summary__score-text { font-size: 2rem; font-weight: 600; color: #0056b3; }
        .epm-review-summary__count-text { font-size: 1.5rem; color: #495057; }

        .epm-review-list {
            display: grid;
            grid-template-columns: 1fr; /* Single column for reviews on mobile */
            gap: 2.5rem; /* Gap between review cards */
        }
        @media (min-width: 768px) { /* Two columns for tablets */
            .epm-review-list {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        /* Note: No three columns for reviews to maintain readability */

        .epm-review-card { /* .epm-card is already applied in HTML */
            /* Additional specific styles if needed, e.g. no fixed height */
        }
        .epm-review-card__header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            border-bottom: 1px solid #eee;
            padding-bottom: 1rem;
        }
        .epm-review-card__author { font-weight: 600; font-size: 1.7rem; color: #212529; }
        .epm-review-card__date { font-size: 1.3rem; color: #6c757d; }
        .epm-review-card .epm-star-rating { margin-bottom: 1rem; } /* Ensure space after stars in review */
        .epm-review-card__text { font-size: 1.5rem; color: #495057; line-height: 1.7; }
        
        .epm-empty-state-message {
            text-align: center;
            font-size: 1.6rem;
            color: #6c757d;
            padding: 3rem;
            background-color: #fff;
            border-radius: 20px;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
        }


        /* --- Scroll Animations --- */
        .epm-animate-on-scroll {
            opacity: 0;
            transform: translateY(30px); /* Start slightly lower */
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .epm-animate-on-scroll--visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* --- Notification Toast --- */
        .epm-toast-notification {
            position: fixed;
            top: 20px;
            right: 20px;
            background-color: #fff;
            border-radius: 10px; /* Softer corners for toast */
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            z-index: 1050;
            width: 350px;
            max-width: 90%;
            opacity: 0;
            transform: translateX(100%); /* Start off-screen */
            transition: opacity 0.4s ease, transform 0.4s ease;
            overflow: hidden; /* Ensure content adheres to border radius */
        }
        .epm-toast-notification.epm-toast-notification--show {
            opacity: 1;
            transform: translateX(0);
        }
        .epm-toast-notification__content {
            display: flex;
            align-items: flex-start; /* Align icon and text to top */
            padding: 1.5rem;
        }
        .epm-toast-notification__icon {
            font-size: 2.4rem; /* Larger icon */
            margin-right: 1.5rem;
            flex-shrink: 0; /* Prevent icon from shrinking */
        }
        .epm-toast-notification__text {
            flex-grow: 1;
        }
        .epm-toast-notification__title {
            font-size: 1.7rem; /* Slightly larger title */
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 0.5rem;
        }
        .epm-toast-notification__message {
            font-size: 1.4rem;
            margin-bottom: 0;
            line-height: 1.5;
        }
        .epm-toast-notification__close {
            background: transparent;
            border: none;
            font-size: 2.2rem;
            font-weight: 300; /* Lighter close button */
            color: #888;
            cursor: pointer;
            padding: 0 0.5rem;
            line-height: 1;
            opacity: 0.7;
            margin-left: 1rem; /* Space from text to close button */
        }
        .epm-toast-notification__close:hover {
            opacity: 1;
            color: #000;
        }

        /* Notification Types */
        .epm-toast-notification--success .epm-toast-notification__icon { color: #28a745; }
        .epm-toast-notification--success { border-left: 5px solid #28a745; }
        .epm-toast-notification--error .epm-toast-notification__icon { color: #dc3545; }
        .epm-toast-notification--error { border-left: 5px solid #dc3545; }
        .epm-toast-notification--info .epm-toast-notification__icon { color: #17a2b8; }
        .epm-toast-notification--info { border-left: 5px solid #17a2b8; }
        .epm-toast-notification--warning .epm-toast-notification__icon { color: #ffc107; }
        .epm-toast-notification--warning { border-left: 5px solid #ffc107; }
    
