/* ==========================================
PAGE: TAXONOMY / CATEGORY CATALOG
Location: /assets/css/04-pages/page-taxonomy-catalog.css
Usage: Category & Occasion Taxonomy Pages
CLEANED: Removed unused CSS
========================================== */

/* ============================================================================
1. HERO HEADER SECTION
============================================================================ */
.st-category-hero-header {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 1.5rem 0 2rem 0;
    margin-bottom: 1.5rem;
}

.st-hero-content {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
    gap: 3rem;
}

.st-hero-text-area {
    max-width: 600px;
}

.st-hero-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 800;
    color: var(--st-charcoal-900, #111827);
    margin-bottom: 0.85rem;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

/* Read More Toggle (No JS) */
.st-hero-description {
    position: relative;
    margin-bottom: 1.5rem;
}

.st-hero-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.st-hero-text-content {
    max-height: 4.5em;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease-in-out;
}

.st-hero-text-content p {
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--text-color);
    line-height: 1.6;
    margin: 0 0 1rem 0;
}

/* Fade Effect */
.st-hero-text-content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2em;
    background: linear-gradient(transparent, var(--bg-color, #ffffff));
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* Read More Button */
.st-hero-readmore-btn {
    display: inline-block;
    margin-top: 0.5rem;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--st-brand-700, #be0038);
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
}

.st-hero-readmore-btn:hover {
    text-decoration: underline;
}

.st-hero-readmore-btn .text-less {
    display: none;
}

.st-hero-readmore-btn .text-more {
    display: inline;
}

/* Checked State (Expanded) */
.st-hero-checkbox:checked~.st-hero-text-content {
    max-height: 500px;
}

.st-hero-checkbox:checked~.st-hero-text-content::after {
    opacity: 0;
    visibility: hidden;
}

.st-hero-checkbox:checked~.st-hero-readmore-btn .text-more {
    display: none;
}

.st-hero-checkbox:checked~.st-hero-readmore-btn .text-less {
    display: inline;
}

/* Hero Illustration */
.st-hero-illustration {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.st-hero-illustration::after {
    content: '';
    position: absolute;
    width: 75%;
    height: 75%;
    background: var(--st-brand-50, #fdf2f4);
    filter: blur(40px);
    opacity: 0.8;
    z-index: 1;
    border-radius: 50%;
    pointer-events: none;
}

.st-hero-img-wrapper {
    position: relative;
    width: 100%;
    max-width: 270px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    z-index: 2;
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.12);
    border: 4px solid #ffffff;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.st-hero-illustration:hover .st-hero-img-wrapper {
    transform: scale(1.03);
}

.st-hero-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Hide empty placeholder box if no real image uploaded */
.st-hero-img-wrapper img[src*="placeholder"] {
    display: none;
}

.st-hero-illustration:has(img[src*="placeholder"]) {
    display: none;
}

.st-hero-content:has(img[src*="placeholder"]) {
    grid-template-columns: 1fr;
}

/* ============================================================================
2. BREADCRUMB NAVIGATION
============================================================================ */
.st-taxonomy-breadcrumb {
    font-size: 0.85rem;
    margin-bottom: 1.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.st-taxonomy-breadcrumb::-webkit-scrollbar {
    display: none;
}

.st-breadcrumb-list {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    white-space: nowrap;
}

.st-breadcrumb-list li a {
    color: var(--text-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

.st-breadcrumb-list li a:hover {
    color: var(--accent-hover);
}

.st-breadcrumb-list .sep {
    color: #cbd5e0;
    font-size: 0.8rem;
}

/* ============================================================================
3. CATALOG SUBHEAD & GRID LAYOUT
============================================================================ */
.st-catalog-subhead {
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
}

.subhead-cat {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-color);
    margin: 0;
}

.st-product-main-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

/* ============================================================================
4. LOAD MORE BUTTON
============================================================================ */
.st-loadmore-wrapper {
    text-align: center;
    margin-top: 2.5rem;
}

.st-btn-loadmore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background-color: var(--st-brand-700, #be0038);
    color: #ffffff;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.85rem 2.25rem;
    border-radius: var(--st-radius-md, 12px);
    border: none;
    cursor: pointer;
    box-shadow: var(--st-shadow-sm, 0 2px 4px rgba(0, 0, 0, 0.06));
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.st-btn-loadmore:hover {
    background-color: var(--st-brand-800, #98002e);
    transform: translateY(-2px);
    box-shadow: var(--st-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
}

.st-btn-loadmore:active {
    transform: scale(0.97);
}

.st-btn-loadmore:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

/* ============================================================================
5. CATEGORY SUGGESTION / INTERNAL LINKING
============================================================================ */
.category-suggestion {
    margin: 3.5rem 0 2rem 0;
    padding-top: 2rem;
    border-top: 1px solid #edf2f7;
}

.suggestion-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1.25rem;
}

.suggestion-links {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
}

.suggest-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 1rem;
    text-decoration: none;
    box-shadow: var(--card-shadow);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.suggest-card:hover {
    border-color: var(--st-brand-700, #be0038);
    transform: translateY(-3px);
    box-shadow: var(--st-shadow-md);
}

.suggest-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background-color: #f7fafc;
    border-radius: 10px;
    flex-shrink: 0;
}

.suggest-icon .emoji {
    width: 22px;
    height: 22px;
}

.suggest-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.main-link {
    font-family: var(--font-heading);
    font-size: 0.925rem;
    font-weight: 600;
    color: var(--text-color);
    line-height: 1.3;
}

.sub-link {
    font-family: var(--font-body);
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.2;
}

/* ============================================================================
6. SEO CONTENT BLOCK
============================================================================ */
.st-seo-content-block {
    font-family: var(--font-body);
    color: var(--text-color);
    line-height: 1.7;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-color);
}

.st-seo-content-block h2 {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.st-seo-content-block h3 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--text-color);
    margin: 1.25rem 0 0.5rem 0;
}

.st-seo-text-body p {
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

.st-seo-text-body strong,
.st-seo-text-body b {
    color: var(--text-color);
    font-weight: 600;
}

.st-seo-text-body ul,
.st-seo-text-body ol {
    margin: 0 0 1.25rem 0;
    padding-left: 1.25rem;
}

.st-seo-text-body ul li {
    list-style-type: disc;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.st-seo-text-body ol li {
    list-style-type: decimal;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.st-seo-text-body a {
    color: var(--accent-color);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
}

.st-seo-text-body a:hover {
    opacity: 0.8;
}

/* ============================================================================
7. EMPTY STATE
============================================================================ */
.st-empty-state {
    text-align: center;
    padding: 5rem 0;
}

.st-empty-state-box {
    max-width: 500px;
    margin: 0 auto;
}

.st-empty-state .icon-empty {
    font-size: 4rem;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
}

.st-empty-state h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
}

.st-empty-state p {
    font-size: 1rem;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
}

/* ============================================================================
8. RESPONSIVE / MOBILE OPTIMIZATION
============================================================================ */
@media (max-width: 768px) {
    .st-category-hero-header {
        padding: 0.5rem 0 1rem 0;
        margin-bottom: 1rem;
    }

    .st-hero-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        text-align: center;
    }

    .st-hero-illustration {
        order: 1;
        max-width: 180px;
        margin: 0 auto;
    }

    .st-hero-text-area {
        order: 2;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .st-hero-title {
        font-size: 1.65rem;
    }

    .st-hero-text-content p {
        font-size: 0.875rem;
        margin-bottom: 1.25rem;
    }

    .st-product-main-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .subhead-cat {
        font-size: 1rem;
    }

    .suggestion-links {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .suggest-card {
        padding: 0.85rem;
    }
}

/* ============================================================================
9. SKIN-SPECIFIC ADJUSTMENTS
============================================================================ */
/* Luxury Skin - Sharp corners */
.skin-luxury .st-hero-img-wrapper,
.skin-luxury .suggest-card,
.skin-luxury .st-btn-loadmore {
    border-radius: 0;
}

/* Playful Skin - Very rounded */
.skin-playful .st-hero-img-wrapper,
.skin-playful .suggest-card,
.skin-playful .st-btn-loadmore {
    border-radius: 25px;
}

/* Corporate Skin - Tight radius */
.skin-corporate .st-hero-img-wrapper,
.skin-corporate .suggest-card,
.skin-corporate .st-btn-loadmore {
    border-radius: 4px;
}

/* Akila Florist Skin - App-like rounded */
.skin-akila-florist .st-hero-img-wrapper,
.skin-akila-florist .suggest-card,
.skin-akila-florist .st-btn-loadmore {
    border-radius: 16px;
}/* ============================================================================
10. MINIMALIST ATELIER - OCCASION THEME OVERRIDES
============================================================================ */
.minimalist-atelier-theme {
    background-color: var(--st-canvas, #FCFAF9);
}

/* Minimalist Hero */
.st-category-hero-header-minimalist {
    padding: 3rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.st-hero-content-minimalist {
    max-width: 800px;
    margin: 0 auto;
}

.st-breadcrumb-minimalist {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
}

.st-breadcrumb-minimalist .sep {
    margin: 0 0.5rem;
    color: #e2e8f0;
}

.st-hero-title-minimalist {
    font-family: var(--font-heading, serif);
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 700;
    color: var(--st-brand-700, #be0038);
    margin-bottom: 1rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.st-hero-subtitle-minimalist {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: var(--text-color);
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* Smart Filter Pills */
.st-smart-filter-pills {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2.5rem;
    padding-bottom: 0.5rem;
}

.st-filter-label {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-muted);
}

.st-filter-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
}

.st-filter-scroll::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.st-filter-pill {
    font-family: var(--font-body);
    font-size: 0.9rem;
    color: var(--text-color);
    padding: 0.5rem 1.25rem;
    border: 1px solid #e2e8f0;
    border-radius: 40px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.st-filter-pill:hover {
    border-color: var(--text-color);
    color: var(--text-color);
}

.st-filter-pill.active {
    background-color: var(--st-brand-700, #be0038);
    border-color: var(--st-brand-700, #be0038);
    color: #ffffff;
}

/* Minimalist Outline Buttons */
.st-btn-outline-primary {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-color);
    background: transparent;
    padding: 0.75rem 2rem;
    border: 1px solid var(--text-color);
    border-radius: 0;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.st-btn-outline-primary:hover {
    background-color: var(--text-color);
    color: var(--st-canvas, #FCFAF9);
}

/* Textual Trust Signals */
.st-trust-signals-textual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding: 2rem 0;
    flex-wrap: wrap;
}

.trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.trust-title {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--st-brand-700, #be0038);
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.trust-desc {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-muted);
}

.trust-divider {
    width: 1px;
    height: 40px;
    background-color: #e2e8f0;
}

/* Minimalist Empty State */
.st-empty-state-box.minimalist {
    border: none;
    background: transparent;
    padding: 4rem 0;
    text-align: center;
}

.st-empty-state-box.minimalist .empty-title {
    font-family: var(--font-heading, serif);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 0.5rem;
}

.st-empty-state-box.minimalist .empty-desc {
    margin-bottom: 2rem;
}

/* Minimalist SEO */
.minimalist-seo {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid #e2e8f0;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.minimalist-seo h2 {
    font-family: var(--font-heading, serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1.5rem;
}

.minimalist-seo h3 {
    font-family: var(--font-heading, serif);
    font-size: 1.2rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .st-category-hero-header-minimalist {
        padding: 2rem 0;
    }
    
    .st-hero-title-minimalist {
        font-size: 1.85rem;
    }
    
    .st-smart-filter-pills {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .st-trust-signals-textual {
        flex-direction: column;
        gap: 1.5rem;
    }
    
    .trust-divider {
        width: 40px;
        height: 1px;
    }
}

