/* =========================================================
   DirectoryFire final portal subcategory grid
   This bypasses the old PHPLD broken h4/category wrapper.
========================================================= */

.df-subcat-portal-final,
.df-subcat-portal-final * {
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
    float: none !important;
    clear: none !important;
}

.df-subcat-portal-final {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 0 30px !important;
    padding: 24px !important;
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, .96) !important;
    border-radius: 24px !important;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .075) !important;
    overflow: visible !important;
}

.df-subcat-portal-grid-final {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.df-subcat-portal-card-final {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;
    padding: 18px 18px !important;
    color: #111827 !important;
    text-decoration: none !important;
    background: linear-gradient(180deg, #fff 0%, #fff 64%, #fff8ed 100%) !important;
    border: 1px solid rgba(226, 232, 240, .98) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .075) !important;
    overflow: hidden !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.df-subcat-portal-card-final:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 22px !important;
    width: 4px !important;
    height: 40px !important;
    border-radius: 0 999px 999px 0 !important;
    background: linear-gradient(180deg, #ffc247, #ff6a16, #e0183f) !important;
}

.df-subcat-portal-card-final:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(255, 106, 22, .42) !important;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .12) !important;
}

.df-subcat-portal-icon-final {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 10px !important;
    background: radial-gradient(circle at 35% 28%, #fff, #ffd996 48%, rgba(255, 180, 59, .42) 100%) !important;
    box-shadow: 0 9px 22px rgba(255, 106, 22, .20) !important;
}

.df-subcat-portal-title-final {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    color: #111827 !important;
    font: 900 16px/1.18 Inter, Arial, sans-serif !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: left !important;
}

.df-subcat-portal-count-final {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;
    height: 26px !important;
    padding: 0 9px !important;
    color: #64748b !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    font: 900 13px/1 Inter, Arial, sans-serif !important;
}

.df-source-subcat-block-hidden-final,
.df-subcategory-source-hidden-final,
.df-clean-subcategory-panel,
.df-rebuilt-subcategory-grid {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Inner category pages: remove huge standalone flame area */
html.df-route-inner body .df-v4-flame-orbit,
html.df-route-inner body .df-v4-spotlight,
html.df-route-directory-page body .df-v4-flame-orbit,
html.df-route-directory-page body .df-v4-spotlight {
    display: none !important;
}

html.df-route-inner body .df-v4-hero-stage,
html.df-route-directory-page body .df-v4-hero-stage {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 230px !important;
    padding-top: 34px !important;
    padding-bottom: 36px !important;
}

@media (max-width: 1180px) {
    .df-subcat-portal-grid-final {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .df-subcat-portal-final {
        padding: 18px !important;
    }

    .df-subcat-portal-grid-final {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .df-subcat-portal-grid-final {
        grid-template-columns: 1fr !important;
    }
}
