/* Red theme: #ff1d8c — requires shared-index.css */

html {
    background: linear-gradient(135deg, #0f0718 0%, #190729 50%, #961252 200%);
    background-attachment: fixed;
}

body {
    background: linear-gradient(135deg, #0f0718 0%, #190729 50%, #961252 200%);
}

.logo-section {
    gap: 15px;
}

.logo-circle {
    background: url('/static/images/logo.png');
    background-size: cover;
}

.main-title {
    background: linear-gradient(180deg, #ffffff 0%, #ff1d8c 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.scanner-btn {
    background: linear-gradient(135deg, #ff1d8c 0%, #ff1d8c 100%);
}

.scanner-btn:hover {
    box-shadow: 0 0 20px rgba(255, 29, 140, 0.4);
}

.featured-articles {
    background: rgba(255, 29, 140, 0.08);
    border-left: 3px solid #ff1d8c;
}

.featured-articles:hover {
    background: rgba(255, 29, 140, 0.12);
}

.featured-label {
    color: #ff1d8c;
}

.featured-article-link:hover .featured-title {
    color: #ff1d8c;
}

.social-link {
    border-left: 2px solid #ff1d8c;
    padding-left: 15px;
}

.link-text {
    color: #ff1d8c;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.link-text:hover {
    opacity: 0.7;
}

.fullscreen-btn {
    background: linear-gradient(135deg, #ff1d8c 0%, #ff1d8c 100%);
}

.fullscreen-btn:hover {
    box-shadow: 0 4px 12px rgba(255, 29, 140, 0.3);
}

.filter-btn {
    background: rgba(255, 29, 140, 0.1);
    border: 1px solid rgba(255, 29, 140, 0.3);
    border-radius: 12px;
    color: #ff1d8c;
    padding: 6px 12px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s;
    text-transform: uppercase;
}

.filter-btn.active,
.filter-btn:hover {
    background: linear-gradient(135deg, #ff1d8c 0%, #ff1d8c 100%);
    color: #ffffff;
    border-color: rgba(255, 29, 140, 0.6);
}

.tools-scroll-container::-webkit-scrollbar-thumb {
    background: rgba(255, 29, 140, 0.3);
    border-radius: 2px;
}

.tools-scroll-container::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 29, 140, 0.5);
}

.tool-item:hover {
    background: rgba(255, 29, 140, 0.1);
    border-color: rgba(255, 29, 140, 0.4);
    color: #ff1d8c;
    transform: scale(1.02);
}

.tool-indicator.paid {
    background: rgba(244, 67, 54, 0.2);
    color: #f44336;
    border: 1px solid rgba(244, 67, 54, 0.4);
}

.tool-indicator.registration {
    background: rgba(255, 87, 34, 0.2);
    color: #ff5722;
    border: 1px solid rgba(255, 87, 34, 0.4);
}

.tool-indicator.download {
    background: rgba(139, 195, 74, 0.2);
    color: #8bc34a;
    border: 1px solid rgba(139, 195, 74, 0.4);
}

.tool-legend {
    background: rgba(244, 67, 54, 0.08);
}

.breadcrumb-btn {
    color: #ff1d8c;
}

.filter-buttons-container {
    width: 100%;
}

.category-card:hover {
    border-color: rgba(255, 29, 140, 0.4);
}

.logo-placeholder {
    background: linear-gradient(135deg, rgba(255, 29, 140, 0.2) 0%, rgba(150, 18, 82, 0.2) 100%);
}

.subcategory-card:hover {
    background: rgba(255, 29, 140, 0.1);
    border-color: rgba(255, 29, 140, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 29, 140, 0.2);
}

.subcategory-count {
    color: #ff1d8c;
}

.tool-category-badge {
    background: linear-gradient(135deg, #ff1d8c 0%, #ff1d8c 100%);
}

.fullscreen-catalog {
    min-height: 80vh;
}

.catalog-fullscreen .catalog-header h2 {
    background: linear-gradient(135deg, #ffffff 0%, #ff1d8c 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.nav-catalog-btn {
    background: linear-gradient(135deg, #ff1d8c 0%, #ff1d8c 100%);
}

.nav-catalog-btn:hover {
    box-shadow: 0 6px 15px rgba(255, 29, 140, 0.3);
}

.catalog-fullscreen .category-filter {
    justify-content: flex-start;
}

.catalog-fullscreen .filter-btn {
    padding: 10px 20px;
    font-size: 12px;
    margin: 0 5px;
}

.diagram-placeholder:hover {
    border-color: rgba(255, 29, 140, 0.8);
}

.osint-list li::before {
    color: #ff1d8c;
}

@media (max-width: 768px) {
    .filter-btn {
        padding: 5px 10px;
        font-size: 8px;
    }
}
