/* ==========================================================================
   BayBiz Categories Styles - Premium SaaS Version
   Updated: Breadcrumbs, Staggered Load & Dynamic Badges
   ========================================================================== */



/* --- 2. HEADER SECTION --- */
.welcome-section { text-align: center; margin-bottom: 50px; }
.directory-title { font-size: 42px !important; font-weight: 900 !important; letter-spacing: -1.5px !important; color: #1a1a1a; margin-bottom: 10px; }
.subtitle { font-size: 18px; color: #666; max-width: 600px; margin: 0 auto; }

/* --- 3. THE GRID --- */
.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    margin-bottom: 60px;
}

/* --- 4. THE CATEGORY CARD --- */
.category-card {
    background: #ffffff;
    padding: 30px 20px;
    border-radius: 24px;
    text-decoration: none;
    border: 1px solid #f0f0f0;
    border-left: 5px solid #3f21b5; /* Professional Purple Accent */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 130px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    
    /* ANIMATION: Staggered Fade-In */
    animation: fadeInUp 0.6s ease backwards;
}

.category-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(63, 33, 181, 0.1);
    border-color: #3f21b5;
    background: #fdfdff;
}

.cat-name {
    color: #1a1a1a;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
}

.category-card:hover .cat-name { color: #3f21b5; }

/* Listing Count Badge */
.biz-count-badge {
    font-size: 10px;
    background: #f1f5f9;
    color: #64748b;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 800;
    transition: 0.3s;
}

.category-card:hover .biz-count-badge { background: #eeebff; color: #3f21b5; }

.cat-link-text {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    transition: 0.3s;
}

.category-card:hover .cat-link-text { color: #3f21b5; transform: translateX(3px); }

/* --- 5. THE JOIN CARD (DASHED) --- */
.join-card {
    border: 2px dashed #eeebff;
    border-left: 5px dashed #3f21b5;
    background: #fafbff;
}

.join-card:hover { border-style: solid; background: #ffffff; }

/* --- 6. ANIMATION KEYFRAMES --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Stagger Logic (First 12) */
.category-card:nth-child(1) { animation-delay: 0.05s; }
.category-card:nth-child(2) { animation-delay: 0.10s; }
.category-card:nth-child(3) { animation-delay: 0.15s; }
.category-card:nth-child(4) { animation-delay: 0.20s; }
.category-card:nth-child(5) { animation-delay: 0.25s; }
.category-card:nth-child(6) { animation-delay: 0.30s; }
.category-card:nth-child(7) { animation-delay: 0.35s; }
.category-card:nth-child(8) { animation-delay: 0.40s; }
.category-card:nth-child(9) { animation-delay: 0.45s; }
.category-card:nth-child(10) { animation-delay: 0.50s; }
.category-card:nth-child(11) { animation-delay: 0.55s; }
.category-card:nth-child(12) { animation-delay: 0.60s; }

/* --- 7. FOOTER NOTE --- */
.category-footer-note { 
    text-align: center; 
    margin-top: 60px; 
    padding: 35px; 
    background: #fff;
    border-radius: 24px; 
    border: 1px solid #f0f0f0; 
    color: #64748b; 
    font-size: 15px; 
}

.category-footer-note a { 
    color: #3f21b5; 
    font-weight: 800; 
    text-decoration: none;
    border-bottom: 2px solid #eeebff;
    transition: 0.2s;
}

.category-footer-note a:hover { border-bottom-color: #3f21b5; }

/* --- 8. MOBILE RESPONSIVE --- */
@media (max-width: 600px) {
    .category-grid { grid-template-columns: 1fr; }
    .directory-title { font-size: 32px !important; }
    .category-card { min-height: 100px; padding: 20px; }
}