       :root {
            --bg-primary: #151617;
            --bg-secondary: #303134;
            --bg-card: #303134;
            --bg-hover: #3c4043;
            --bg-label: #525252;
            --text-label: #f3c96b;
            --text-primary: #e8eaed;
            --primary_hover: #ea7106;
            --text-secondary: #9aa0a6;
            --text-link: #e2a15b;
            --border-color: #5f6368;
            --accent-blue: #ce9252;
            --star-gold: #f5c518;
            --success-green: #cfea9f;
            --success-red: #e49292;
            --gallery-bg: #fff;
        }
        
        [data-theme="light"] {
            --bg-primary: #D8D2BF;
            --bg-secondary: #ffffff;
            --bg-card: #f5f1eb;
            --bg-hover: #fff5e4;
            --bg-label:  #69665f;
            --text-label:  #fff;
            --text-primary: #271910;
            --primary_hover: #ea7106;
            --text-secondary: #5f6368;
            --text-link: #824100;
            --border-color: #dadce0;
            --accent-blue: #ec8c2a;
            --star-gold: #f5c518;
            --success-green: #137333;
            --success-red: #9e2509;
            --gallery-bg: #ffffff;
        }
        
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }
        
        body {
            font-family: 'Roboto', 'Google Sans', Arial, sans-serif;
            background-color: var(--bg-primary);
            color: var(--text-primary);
            line-height: 1.5;
            padding: 10px;
        }
        
        .container {
            max-width: 1800px;
            margin: 0 auto;
            display: flex;
            gap: 0;
        }
        
        .main-content {
            flex: 1;
            min-width: 0;
            padding-right: 20px;
        }
        
        /* Sidebar Panel - Always Visible */
        .sidebar-panel {
            position: sticky;
            top: 0;
            width: 420px;
            flex-shrink: 0;
            height: 100vh;
            background: var(--bg-secondary);
            overflow-y: auto;
            border-left: 1px solid var(--border-color);
			border-radius: 15px 15px 0 0;
        }
        
        .sidebar-empty {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100%;
            color: var(--text-secondary);
            font-size: 14px;
            padding: 40px;
            text-align: center;
        }

        
        .sidebar-btn {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: var(--bg-hover);
            border: none;
            color: var(--text-primary);
            font-size: 16px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .sidebar-btn:hover {
            background: var(--border-color);
        }
        
        .sidebar-btn svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
        }
        
        .sidebar-close-mobile {
            display: none;
            position: absolute;
            top: 12px;
            right: 12px;
            z-index: 20;
        }
        
        .sidebar-overlay {
            display: none;
        }
        
        .sidebar-content {
            display: none;
            position: relative;
        }
        
        .sidebar-content.active {
            display: block;
			border-radius: 15px 15px 0 0;
        }
        
        /* Image Gallery */
        .gallery-section {
            background: var(--gallery-bg);
            padding: 14px;
			border-radius: 15px 15px 0 0;
        }
        
        .gallery-main {
            width: calc(100% + 20px);
			margin-left: -10px;
			border-radius: 9px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 12px;
            position: relative;
			overflow: clip;
			max-height: 380px;
        }
        
		
        .gallery-main div {
            max-width: 100%;
     
			display: flex;
            object-fit: contain;
			aspect-ratio: 1;
			justify-content: center;
        }
        .gallery-main div img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
        
        .gallery-source {
            position: absolute;
            bottom: 8px;
            right: 8px;
            background: var(--bg-primary);
            color: var(--text-secondary);
            padding: 4px 10px;
            border-radius: 4px;
            font-size: 11px;
			cursor: pointer;
			text-decoration: none;			
        }
        
        .gallery-thumbs {
            display: flex;
            gap: 8px;
            overflow-x: auto;
            padding: 4px;
			background: #423f3c54;
			border-radius: 9px;
			-ms-overflow-style: none;  
			scrollbar-width: none;
			width: 100%;
        }
		
		.gallery-thumbs::-webkit-scrollbar {
			display: none;
		}
        
        .gallery-thumb {
            width: 56px;
            height: 56px;
            border-radius: 8px;
            border: 2px solid #bebebe;
            background: #fff;
            cursor: pointer;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
			transition: .15s;			
        }
        
        .gallery-thumb.active {
            border-color: #000;
			
        }
        
        .gallery-thumb:hover {
            border-color: #000;
        }
        
        .gallery-thumb img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
        
        /* Gallery Navigation */
        .gallery-nav-wrapper {
            position: relative;
            display: flex;
            align-items: center;
        }
        
        .gallery-nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: var(--bg-primary);
            border: 1px solid var(--border-color);
            color: var(--text-primary);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
            opacity: 0;
            transition: opacity 0.2s, background 0.2s;
            box-shadow: 0 2px 6px rgba(0,0,0,0.3);
        }
        
        .gallery-nav-btn.visible {
            opacity: 1;
        }
        
        .gallery-nav-btn:hover {
            background: var(--bg-hover);
        }
        
        .gallery-nav-btn:disabled {
            opacity: 0 !important;
            cursor: default;
            z-index: -10;
        }
        
        .gallery-nav-btn svg {
            width: 16px;
            height: 16px;
            fill: currentColor;
        }
        
        .gallery-nav-prev {
            left: -4px;
        }
        
        .gallery-nav-next {
            right: -4px;
        }
        
        /* Product Info Section */
        .product-info-section {
            padding: 10px 20px;
        }
        
        .sidebar-title {
            font-size: 22px;
            font-weight: 400;
            line-height: 1.4;
            margin-bottom: 8px;
            color: var(--text-primary);
        }
        
        .sidebar-rating {
            display: none;
        }
        
        /* Highlights Section */
        .highlights-section {
            padding: 0 20px 10px;
			margin-bottom: 10px;
            border-bottom: 1px solid var(--border-color);
        }
        
        .highlights-list {
            margin: 0;
            padding-left: 20px;
            font-size: 14px;
            color: var(--text-primary);
            line-height: 1.8;
        }
        
        .highlights-list li {
            margin-bottom: 2px;
        }
        
        /* About Section */
        .about-section {
            padding: 0 20px 20px;
            border-bottom: 1px solid var(--border-color);
        }
        
        .about-title {
            font-size: 19px;
            font-weight: 500;
            margin-bottom: 5px;
            color: var(--text-primary);
        }
        
        .about-text {
            font-size: 14px;
            color: var(--text-primary);
            line-height: 1.4;
        }
        
        .about-text.collapsed {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        
        .about-toggle {
            display: flex;
            align-items: center;
            gap: 4px;
            background: none;
            border: none;
            color: var(--text-link);
            font-size: 14px;
            cursor: pointer;
            padding: 8px 0 0;
        }
        
        .about-toggle:hover {
            text-decoration: underline;
        }
        
        .about-toggle svg {
            width: 16px;
            height: 16px;
            transition: transform 0.2s;
        }
        
        .about-toggle.expanded svg {
            transform: rotate(180deg);
        }
        
        /* Specs Table */
        .specs-section {
            padding: 20px;
        }
        
        .specs-table {
            width: 100%;
            border-collapse: collapse;
        }
        
        .specs-table tr {
            border-bottom: 1px solid var(--border-color);
        }
        
        .specs-table tr:last-child {
            border-bottom: none;
        }
        
        .specs-table td {
            padding: 1px 0;
            font-size: 14px;
            vertical-align: top;
        }
        
        .specs-table td:first-child {
            color: var(--text-secondary);
            width: 40%;
            padding-right: 16px;
        }
        
        .specs-table td:last-child {
            color: var(--text-primary);
        }
        
        /* Action Buttons */
        .action-section {
            padding: 20px;
            border-top: 1px solid var(--border-color);
            position: sticky;
            bottom: 0;
            background: var(--bg-secondary);
        }
        
        .sidebar-price {
            font-size: 24px;
            font-weight: 500;
            margin-bottom: 4px;
        }
        
        .sidebar-avail {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 13px;
            color: var(--success-green);
            margin-bottom: 16px;
        }
        
        .sidebar-avail::before {
            content: '';
            width: 8px;
            height: 8px;
            background: var(--success-green);
            border-radius: 50%;
        }
        
        .btn-primary.in {
            display: block;
		}
        .btn-primary {
            display: none;
            width: 100%;
            padding: 14px 24px;
            background: var(--accent-blue);
            color: #202124;
            text-decoration: none;
            border-radius: 4px;
            font-weight: 500;
            font-size: 14px;
            text-align: center;
            border: none;
            cursor: pointer;
        }
        
		#start_estimate{
			text-decoration: navajowhite;
			background: var(--accent-blue);
			padding: 5px 9px;
			border-radius: 4px;
            font-size: 14px;
			color: #202124;
			white-space: nowrap;
		}
		
        .btn-primary:hover, #start_estimate:hover {
            background: var(--primary_hover);
        }
        
        /* Header & Filters */
        .header {
            margin-bottom: 24px;
        }
        
        .header h1 {
            font-family: 'Google Sans', Arial, sans-serif;
            font-size: 24px;
            font-weight: 400;
            color: var(--text-primary);
			display: flex;
			align-items: top;
			gap: 10px;
			margin: 5px auto -5px 0;
			flex-wrap: wrap;
        }
        h1 a {
			cursor: pointer;
		}
        .filters {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            align-items: center;
            padding: 4px 12px;
            background: var(--bg-secondary);
            border-radius: 8px;
            margin-bottom: 8px;
			max-width: calc(100% - 70px);
        }
        
        .filter-group {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .filter-group label {
            font-size: 14px;
            color: var(--text-secondary);
            font-weight: 500;
        }
        
        .filter-group select {
            padding: 8px 12px;
            border-radius: 4px;
            border: 1px solid var(--border-color);
            background: var(--bg-primary);
            color: var(--text-primary);
            font-size: 14px;
            cursor: pointer;
            min-width: 120px;
        }
        
        .filter-group select:hover {
            border-color: var(--accent-blue);
        }
        
        .filter-group select:focus {
            outline: none;
            border-color: var(--accent-blue);
        }
        
        .btn-apply {
            padding: 10px 24px;
            background: var(--accent-blue);
            color: #202124;
            border: none;
            border-radius: 4px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: background 0.2s;
        }
        
        .btn-apply:hover {
            background: var(--primary_hover);
        }
         .theme-toggle {
            padding: 10px 16px;
            background: var(--bg-hover);
            color: var(--text-primary);
            border: 1px solid var(--border-color);
            border-radius: 4px;
            font-size: 14px;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 6px;
			margin: 6px 0;
        }
        
        .theme-toggle:hover {
            background: var(--border-color);
        }
        
        .theme-toggle svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
        }      
        .feed-url {
            font-size: 12px;
            color: var(--text-secondary);
            padding: 5px 10px 0 0;
            border-radius: 0 0 8px 8px;
            margin-top: -8px;
            word-break: break-all;
			text-align: right;
        }
        
        .feed-url a {
            color: var(--text-link);
            text-decoration: none;
        }
        
        .feed-url a:hover {
            text-decoration: underline;
        }
        
        /* Stats bar */
        .stats-bar {
            display: none;
            justify-content: space-between;
            align-items: center;
            padding: 12px 0;
            border-bottom: 1px solid var(--border-color);
            margin-bottom: 20px;
        }
        
        .stats-bar .count {
            font-size: 14px;
            color: var(--text-secondary);
        }
        
        .stats-bar .count strong {
            color: var(--text-primary);
        }
        
        /* Product Grid */
        .product-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(166px, 1fr));
            gap: 6px;
        }
        
        /* Product Card - Google Shopping Style */
        .product-card {
            background: var(--bg-card);
            border-radius: 16px;
            overflow: hidden;
            transition: box-shadow 0.2s, transform 0.2s;
            cursor: pointer;
            border: 0px;
			position: relative;
			overflow: hidden;
        }
		
		.product-image img {
			position: relative;
			z-index: 1;
			background: var(--bg-card);
		}
		
		.product-image .stage {
			z-index: 0;
		}
        
        .product-card:hover {
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            border-color: var(--border-color);
           transform: translateY(-2px);
        }
        
	    [data-theme="light"] .product-card {
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            border: 1px solid var(--border-color);
        }
        
        [data-theme="light"] .product-card:hover {
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }										
        .product-card.selected {
            border-color: var(--accent-blue);
            box-shadow: 0 0 0 1px var(--accent-blue);
        }
        
        .product-image {
            position: relative;
            width: 100%;
			padding-bottom: 100%;
            background: var(--gallery-bg);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
			border-radius: 15px;
        }
        
        .product-image img {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
        
        .product-badge {
            position: absolute;
            bottom: 8px;
            right: 8px;
            background: rgba(32, 33, 36, 0.9);
            color: var(--text-primary);
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 11px;
            font-weight: 500;
        }
        
        .product-content {
            padding: 12px 16px 16px;
        }
        
        .product-title {
            font-size: 14px;
            font-weight: 500;
            color: var(--text-primary);
            margin-bottom: 4px;
            line-height: 1.4;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        
        .product-brand {
            font-size: 12px;
            color: var(--text-secondary);
            margin-bottom: 8px;
        }
        
        .product-price {
            font-size: 18px;
            font-weight: 500;
            color: var(--text-primary);
            margin-bottom: 4px;
        }
        
        .product-shipping {
            font-size: 12px;
            color: var(--text-secondary);
        }
       
        
        /* Size/Variant badge */
        .product-size {
            display: inline-block;
            background: var(--bg-label);
            color: var(--text-label);
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 17px;
            margin-top: 4px;
        }
        
        /* Availability indicator */
        .availability {
            display: flex;
            align-items: center;
            gap: 4px;
            font-size: 12px;
            color: var(--success-green);
            margin-top: 4px;
        }
		#sidebarAvail { margin: 0 0 8px;
		}
		.in_stock {
            color: var(--success-green);
		}
		
        .availability.red, .out_of_stock {
            color: var(--success-red);
        }
        
        .availability::before {
            content: '';
            width: 6px;
            height: 6px;
            background: var(--success-green);
            border-radius: 50%;
			margin-bottom: auto;
			margin-top: 5px;
        }
		 .availability.red::before {
            background: var(--success-red);
        }
        
        /* Category Pills */
        .category-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 20px;
        }
        
        .category-pill {
            padding: 6px 12px;
            background: var(--bg-secondary);
            border: 1px solid var(--border-color);
            border-radius: 20px;
            font-size: 13px;
            color: var(--text-secondary);
            cursor: pointer;
            transition: all 0.2s;
            text-decoration: none;
        }
        
        .category-pill:hover {
            border-color: var(--accent-blue);
            color: var(--accent-blue);
        }
        
        .category-pill.active {
            background: var(--accent-blue);
            border-color: var(--accent-blue);
            color: #202124;
        }
        
        .category-pill .count {
            margin-left: 4px;
            opacity: 0.7;
        }
        
		.generating_xml {
			padding: 35px;
			margin: 20px auto;
			display: flex;
			align-items: center;
			justify-content: center;
		}
        
        /* Loading */
        .loading {
            text-align: center;
            padding: 60px 20px;
            color: var(--text-secondary);
        }
        
        /* Empty State */
        .empty-state {
            text-align: center;
            padding: 60px 20px;
            color: var(--text-secondary);
        }
        
        .empty-state svg {
            width: 64px;
            height: 64px;
            margin-bottom: 16px;
            opacity: 0.5;
        }
        
        /* Responsive */
        @media (max-width: 1024px) {
            .container {
                flex-direction: column;
            }
            
            .sidebar-panel {
                position: fixed;
                top: 0;
                right: -420px;
                width: 420px;
                max-width: 90vw;
                height: 100vh;
                z-index: 1001;
                transition: right 0.3s ease;
                box-shadow: -4px 0 20px rgba(0,0,0,0.5);
				border-radius: 15px 15px 0 0;
            }
            
            .sidebar-panel.active {
                right: 0;
            }
            
            .sidebar-empty {
                display: none;
            }
            
            .sidebar-close-mobile {
                display: flex;
            }
            
            .sidebar-overlay {
                display: none;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: rgba(0,0,0,0.5);
                z-index: 1000;
            }
            
            .sidebar-overlay.active {
                display: block;
            }
            
            .main-content {
                padding-right: 0;
            }
        }
        
        @media (max-width: 768px) {
            .filters {
                flex-direction: column;
                align-items: stretch;
            }
            
            .filter-group {
                justify-content: space-between;
            }
            
            .filter-group select {
                flex: 1;
            }
            
            .product-grid {
                grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
            }
            
            .sidebar-panel {
                width: 100%;
                max-width: 100vw;
                right: -100%;
            }
            
            .gallery-main {
                height: 389px;    
				max-width: 389px;
				margin: auto;
            }
        }
		.image-overlay {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: rgba(0, 0, 0, 0.9);
			z-index: 2000;
			justify-content: center;
			align-items: center;
			cursor: zoom-out;
		}

		.image-overlay.active {
			display: flex;
		}

		.image-overlay img {
			max-width: 95vw;
			max-height: 95vh;
			object-fit: contain;
		}

		.overlay-close {
			position: absolute;
			top: 20px;
			right: 30px;
			font-size: 40px;
			color: #fff;
			background: none;
			border: none;
			cursor: pointer;
			opacity: 0.7;
		}
		
		.overlay-close:hover {
			opacity: 1;
		}
		.feed-url {
			display:none; background: var(--bg-secondary);
			border-radius: 5px;
			padding: 3px;
			gap: 5px;
			border: 2px solid #979694;
			padding: 3px 8px;
			line-height: 1.1;
			align-items: center;
		}
		
		/* Gallery main loader */
.gallery-main div {
    position: relative;
}

.gallery-main .stage {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.gallery-main img {
    position: relative;
    z-index: 1;
    background: var(--gallery-bg);
}

/* Thumbnail loader */
.gallery-thumb {
    position: relative;
}

.gallery-thumb .stage {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.5);
    z-index: 0;
}

.gallery-thumb img {
    position: relative;
    z-index: 1;
    background: #fff;
}
		
.dot-pulse{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background:#fea104;color:#fea104;box-shadow:9999px 0 0 -5px;-webkit-animation:dot-pulse 1.5s infinite linear;animation:dot-pulse 1.5s infinite linear;-webkit-animation-delay:0.25s;animation-delay:0.25s;}
.dot-pulse::before, .dot-pulse::after{content:"";display:inline-block;position:absolute;top:0;width:10px;height:10px;border-radius:5px;background:#fea104;color:#fea104;}
.dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:dot-pulse-before 1.5s infinite linear;animation:dot-pulse-before 1.5s infinite linear;-webkit-animation-delay:0s;animation-delay:0s;}
.dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:dot-pulse-after 1.5s infinite linear;animation:dot-pulse-after 1.5s infinite linear;-webkit-animation-delay:0.5s;animation-delay:0.5s;}
@-webkit-keyframes dot-pulse-before{
  0%{box-shadow:9984px 0 0 -5px;}
  30%{box-shadow:9984px 0 0 2px;}
  60%, 100%{box-shadow:9984px 0 0 -5px;}
}
@keyframes dot-pulse-before{
  0%{box-shadow:9984px 0 0 -5px;}
  30%{box-shadow:9984px 0 0 2px;}
  60%, 100%{box-shadow:9984px 0 0 -5px;}
}
@-webkit-keyframes dot-pulse{
  0%{box-shadow:9999px 0 0 -5px;}
  30%{box-shadow:9999px 0 0 2px;}
  60%, 100%{box-shadow:9999px 0 0 -5px;}
}
@keyframes dot-pulse{
  0%{box-shadow:9999px 0 0 -5px;}
  30%{box-shadow:9999px 0 0 2px;}
  60%, 100%{box-shadow:9999px 0 0 -5px;}
}
@-webkit-keyframes dot-pulse-after{
  0%{box-shadow:10014px 0 0 -5px;}
  30%{box-shadow:10014px 0 0 2px;}
  60%, 100%{box-shadow:10014px 0 0 -5px;}
}
@keyframes dot-pulse-after{
  0%{box-shadow:10014px 0 0 -5px;}
  30%{box-shadow:10014px 0 0 2px;}
  60%, 100%{box-shadow:10014px 0 0 -5px;}
}
.stage {display: flex;justify-content: center;align-items: center;position: absolute;border-radius: 14px;padding-top: 100%;}

/* Gallery main loader */
.gallery-main > div {
    max-width: 100%;
    min-height: 300px;
    display: flex;
    object-fit: contain;
    aspect-ratio: 1;
    justify-content: center;
    align-items: center;
    position: relative;
}

.gallery-main > div > .stage {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    padding-top: 0;
    width: auto;
    height: auto;
}

.gallery-main > div > img {
    position: relative;
    z-index: 1;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.btn-primary.out_of_stock {
    display: none;
}