/* =========================================
   CATALOG PAGE CSS (CLEANED & FIXED)
========================================= */
body { 
    background-color: #f8fafc; 
    margin: 0; 
    padding: 0; 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.container { 
    max-width: 1400px; 
    margin: 0 auto; 
    padding: 0 1.5rem; 
}

/* --- FIXED NAVBAR OVERLAP --- */
.catalog-main { 
    padding-top: 6rem; /* Increased from 6rem to clear the tall navbar */
    padding-bottom: 5rem; 
    min-height: 100vh; 
}

/* --- Top Banner --- */
.catalog-top-banner { 
    padding: 1rem 0 2rem; 
    border-bottom: 1px solid #e2e8f0; 
    margin-bottom: 3rem; 
	text-align: center;
}
.catalog-breadcrumb { 
    font-size: 0.75rem; 
    font-weight: 800; 
    color: #f97316; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
    background: #fff7ed; 
    padding: 0.25rem 0.75rem; 
    border-radius: 9999px; 
    margin-bottom: 1rem; 
    display: inline-block; 
}
.catalog-header-flex { 
    display: flex; 
    flex-direction: column; 
    align-items: center;    /* Centers items horizontally */
    text-align: center;
	justify-content: center;
    gap: 0.5rem;            /* Clean spacing between title and count */
    width: 100%;
}
@media (min-width: 768px) { 
    .catalog-header-flex { flex-direction: column; justify-content: center; align-items: center; } 
	
}
.catalog-header-flex h1 { 
    font-size: 2.5rem; 
    font-weight: 900; 
    color: #0f172a; 
    margin: 0; 
	text-align: center;
}
.catalog-count { 
    color: #64748b; 
    font-weight: 500; 
	 
}

/* --- Layout --- */
.catalog-layout { 
    display: flex; 
    flex-direction: column; 
    gap: 1rem; 
    align-items: flex-start; 
}
@media (min-width: 1024px) { 
    .catalog-layout { flex-direction: row; } 
}

/* --- Sidebar --- */
.catalog-sidebar { 
    width: 100%; 
    background: rgb(252, 250, 250); 
    border-radius: 1.5rem; 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); 
    border: 1px solid #f1f5f9; 
    padding: 1rem; 
    flex-shrink: 0; 
}
@media (min-width: 1024px) { 
    .catalog-sidebar { width: 250px; position: sticky; top: 120px; } 
}
.sidebar-header { 
    display: flex; 
    align-items: center; 
    gap: 0.75rem; 
    border-bottom: 1px solid #f1f5f9; 
    padding-bottom: 1rem; 
    margin-bottom: 1rem; 
}
.sidebar-header i { font-size: 1.25rem; color: #0f172a; }
.sidebar-header h2 { font-size: 1.25rem; font-weight: 800; margin: 0; color: #0f172a; }

/* Accordion */
.accordion-item { border-bottom: 1px solid #fbfcfd; }
.accordion-item:last-child { border-bottom: none; }
.accordion-btn { 
    width: 100%; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    background: none; 
    border: none; 
    padding: 1rem 0.5rem; 
    font-weight: 800; 
    font-size: 0.875rem; 
    text-transform: uppercase; 
    letter-spacing: 0.05em; 
    cursor: pointer; 
    transition: all 0.3s; 
}
.accordion-btn i { font-size: 0.75rem; transition: transform 0.3s; }
.accordion-item.active .accordion-btn i { transform: rotate(90deg); }

/* Theme Colors for Sidebar */
.theme-orange { color: #ea580c; }
.theme-blue { color: #2563eb; }
.theme-purple { color: #9333ea; }
.theme-green { color: #16a34a; }

.subcategory-list { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; display: flex; flex-direction: column; }
.accordion-item.active .subcategory-list { max-height: 500px; }

.sub-link { padding: 0.6rem 1rem; font-size: 0.875rem; color: #64748b; text-decoration: none; border-left: 2px solid transparent; transition: all 0.2s; font-weight: 500; cursor: pointer; }
.sub-link:hover { color: #0f172a; border-left-color: #cbd5e1; background: #f8fafc; }
.sub-link.active-link { font-weight: 700; color: #0f172a; border-left-color: #0f172a; background: #f1f5f9; }

/* --- Product Grid --- */
.catalog-content { flex-grow: 1; width: 100%; }
.product-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .product-grid { grid-template-columns: repeat(3, 1fr); } }

/* =========================================
   PREMIUM PRODUCT CARDS
========================================= */
.cat-card { 
    background: white; 
    border-radius: 2rem; 
    border: 1px solid #f1f5f9; 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); 
    overflow: hidden; 
    text-decoration: none; 
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); 
    display: flex; 
    flex-direction: column; 
    position: relative; 
    cursor: pointer; 
}
.cat-card:hover { 
    transform: translateY(-8px); 
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.15); 
    border-color: #e2e8f0; 
}

.badge-enquiry { 
    position: absolute; 
    top: 1.25rem; 
    left: 1.25rem; 
    color: white; 
    font-size: 0.65rem; 
    font-weight: 800; 
    padding: 0.5rem 1rem; 
    border-radius: 9999px; 
    z-index: 10; 
    letter-spacing: 0.05em; 
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}

/* Dynamic Colors */
.bg-orange-500 { background-color: #f97316; } .bg-orange-50 { background-color: #fff7ed; }
.bg-blue-500 { background-color: #3b82f6; } .bg-blue-50 { background-color: #eff6ff; }
.bg-purple-500 { background-color: #a855f7; } .bg-purple-50 { background-color: #faf5ff; }
.bg-green-500 { background-color: #22c55e; } .bg-green-50 { background-color: #f0fdf4; }

/* Image Container */
.cat-img-box { 
    width: 100%; 
    height: 280px; 
    padding: 2.5rem; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    position: relative; 
    overflow: hidden;
}

.img-glow {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.15;
    transition: all 0.5s ease;
}
.cat-card:hover .img-glow {
    opacity: 0.3;
    transform: scale(1.5);
}

.cat-img-box img { 
    width: 100%; 
    height: 100%; 
    object-fit: contain; 
    mix-blend-mode: multiply; 
    position: relative;
    z-index: 5;
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); 
}
.cat-card:hover .cat-img-box img { 
    transform: scale(1.15) rotate(2deg); 
}

/* Details Section */
.cat-details { 
    padding: 1.5rem 1.5rem 2rem; 
    display: flex; 
    flex-direction: column; 
    flex-grow: 1; 
    background: white;
}

.cat-series { 
    display: flex; 
    align-items: center; 
    gap: 0.5rem; 
    font-size: 0.75rem; 
    font-weight: 800; 
    color: #94a3b8; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
    margin-bottom: 0.75rem; 
}
.text-yellow-500 { color: #eab308; }

.cat-title { 
    font-size: 1.25rem; 
    font-weight: 800; 
    color: #0f172a; 
    margin: 0 0 0.5rem 0; 
    line-height: 1.3; 
    transition: color 0.3s;
}
.cat-card:hover .cat-title {
    color: #f97316; 
}

.quick-spec {
    font-size: 0.875rem;
    color: #64748b;
    font-weight: 500;
}

/* Hover Arrow */
.hover-arrow {
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
.cat-card:hover .hover-arrow {
    opacity: 1;
    transform: translateX(0);
}

/* --- Empty State --- */
.empty-state { 
    text-align: center; 
    padding: 5rem 2rem; 
    background: white; 
    border-radius: 1.5rem; 
    border: 1px dashed #e2e8f0; 
}
.empty-state.hidden { display: none; }
.empty-state i { font-size: 3rem; color: #cbd5e1; margin-bottom: 1rem; }
.empty-state h3 { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin: 0 0 0.5rem; }
.empty-state p { color: #64748b; margin: 0; }