/* === БАЗА === */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',sans-serif;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-attachment:fixed;min-height:100vh;padding-top:70px;color:#1e293b;line-height:1.5}

/* Контейнер */
.container{max-width:1400px;margin:0 auto;padding:20px 15px}

/* 6 стат-карточек */
.top-six-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px}
.mini-stat-card{background:rgba(255,255,255,0.95);border-radius:10px;padding:12px 8px;text-align:center;box-shadow:0 3px 12px rgba(0,0,0,0.08);transition:transform 0.2s,box-shadow 0.2s;cursor:pointer}
.mini-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.12)}
.mini-stat-icon{font-size:22px;margin-bottom:4px}
.mini-stat-number{font-size:18px;font-weight:800;color:#8b5cf6;margin:2px 0}
.mini-stat-label{font-size:10px;color:#64748b;font-weight:500}

/* Поиск */
.search-full-width{background:rgba(255,255,255,0.95);border-radius:12px;padding:20px;margin-bottom:25px;box-shadow:0 4px 20px rgba(0,0,0,0.1)}
.search-form-main{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:10px}
.search-input-main{padding:14px 18px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;transition:border-color 0.2s}
.search-input-main:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,0.15)}
.search-btn-main{padding:14px 28px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:white;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:15px;transition:transform 0.2s}
.search-btn-main:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(139,92,246,0.4)}
.advanced-toggle{width:100%;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:13px;font-weight:600;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;transition:background 0.2s;margin-top:10px}
.advanced-toggle:hover{background:#f1f5f9}
.advanced-block{display:none;padding:15px 0;border-top:1px solid #e2e8f0;margin-top:10px}
.advanced-block.open{display:block}
.form-group{margin:12px 0}
.form-label{display:block;font-size:12px;font-weight:600;color:#1e293b;margin:0 0 5px}
.form-select,.form-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:white}
.form-select:focus,.form-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px rgba(139,92,246,0.15)}
.form-checkbox{display:flex;align-items:center;gap:6px;margin:8px 0;font-size:13px;color:#475569}
.form-checkbox input{width:16px;height:16px}

/* Выпадающие списки */
.dropdown-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.2s}
.dropdown-toggle:hover{background:#f1f5f9}
.dropdown-toggle .arrow{transition:transform 0.2s;font-size:12px}
.dropdown-toggle.active .arrow{transform:rotate(180deg)}
.dropdown-checkboxes{max-height:0;overflow:hidden;transition:max-height 0.3s ease;border:1px solid #e2e8f0;border-radius:0 0 6px 6px;border-top:none;background:white}
.dropdown-checkboxes.open{max-height:200px;overflow-y:auto;padding:8px}
.dropdown-checkbox{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px;color:#334155}
.dropdown-checkbox:hover{background:#f1f5f9;border-radius:4px}
.dropdown-checkbox input{width:14px;height:14px}

/* СЕТКА — 3 КОЛОНКИ */
.main-layout{display:grid;grid-template-columns:220px 1fr 240px;gap:20px}

/* Левый сайдбар */
.sidebar-categories{background:rgba(255,255,255,0.95);border-radius:12px;padding:16px;box-shadow:0 3px 15px rgba(0,0,0,0.08)}
.sidebar-title{font-size:15px;font-weight:700;color:#1e293b;margin:0 0 12px 0;padding-bottom:8px;border-bottom:2px solid #e2e8f0}
.category-link{display:flex;align-items:center;gap:8px;padding:8px 10px;color:#1e293b;text-decoration:none;border-radius:8px;transition:0.2s;margin-bottom:4px;font-size:13px;font-weight:500}
.category-link:hover{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6}
.category-icon{font-size:15px}
.category-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-count{font-size:11px;color:#475569;background:#e2e8f0;padding:2px 6px;border-radius:6px;font-weight:600}
.category-link-all{color:#8b5cf6;font-size:12px;font-weight:600;padding:8px 10px;display:block;margin-top:8px;border-top:1px solid #e2e8f0}

/* Правый сайдбар */
.sidebar-tools{background:rgba(255,255,255,0.95);border-radius:12px;padding:16px;box-shadow:0 3px 15px rgba(0,0,0,0.08)}

/* Промо-блок */
.promo-block{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;padding:16px;margin-bottom:16px;text-align:center;border:2px solid #fcd34d}
.promo-icon{font-size:32px;margin-bottom:8px;display:block}
.promo-title{font-size:14px;font-weight:700;color:#92400e;margin:0 0 6px}
.promo-text{font-size:12px;color:#78350f;margin:0 0 10px;line-height:1.4}
.promo-btn{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#f97316,#ea580c);color:white;border-radius:6px;text-decoration:none;font-weight:600;font-size:12px;transition:transform 0.2s}
.promo-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(249,115,22,0.4)}

/* Быстрые ссылки */
.quick-links{display:flex;flex-direction:column;gap:6px}
.quick-link{padding:10px 12px;background:#f8fafc;border-radius:8px;color:#1e293b;text-decoration:none;font-size:13px;font-weight:500;transition:0.2s;border-left:3px solid transparent}
.quick-link:hover{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6;border-left-color:#8b5cf6}

/* Контент */
.section{background:rgba(255,255,255,0.95);border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 3px 15px rgba(0,0,0,0.08)}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.section-title{font-size:18px;font-weight:700;color:#1e293b;margin:0}

/* Рецепты */
.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.recipe-card{background:white;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:0.25s;box-shadow:0 3px 12px rgba(0,0,0,0.08);display:block}
.recipe-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(0,0,0,0.15)}
.recipe-img{height:130px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);display:flex;align-items:center;justify-content:center;font-size:36px}
.recipe-img img{width:100%;height:100%;object-fit:cover}
.recipe-body{padding:12px}
.recipe-title{font-size:14px;font-weight:700;color:#1e293b;margin:0 0 8px 0;line-height:1.3}
.recipe-meta{display:flex;gap:4px;flex-wrap:wrap}
.recipe-meta span{background:#f1f5f9;padding:3px 6px;border-radius:4px;font-size:11px;color:#475569;font-weight:500}

/* Рецепт дня */
.daily-recipe-card{background:linear-gradient(135deg,#f5f3ff,#ede9fe);padding:18px;border-radius:10px;border:2px solid #e9d5ff}
.daily-recipe-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.daily-recipe-icon{font-size:28px}
.daily-recipe-title{margin:0;font-size:16px;color:#1e293b;font-weight:700}
.daily-recipe-desc{color:#475569;margin-bottom:12px;font-size:13px;line-height:1.5}
.daily-recipe-btn{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:white;border-radius:6px;text-decoration:none;font-weight:600;font-size:12px;transition:transform 0.2s}
.daily-recipe-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(139,92,246,0.4)}

/* Подборки */
.collections-title{font-size:15px;font-weight:700;color:#1e293b;margin:0 0 10px 0}
.collections-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.collection-btn{padding:10px;border-radius:8px;text-decoration:none;color:white;font-weight:600;text-align:center;transition:0.2s;font-size:12px}
.collection-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,0.12)}
.budget{background:linear-gradient(135deg,#22c55e,#16a34a)}.holiday{background:linear-gradient(135deg,#f97316,#ea580c)}.piknik{background:linear-gradient(135deg,#84cc16,#65a30d)}.post{background:linear-gradient(135deg,#a855f7,#9333ea)}.quick{background:linear-gradient(135deg,#06b6d4,#0891b2)}.healthy{background:linear-gradient(135deg,#10b981,#059669)}.desserts{background:linear-gradient(135deg,#ec4899,#db2777)}.grill{background:linear-gradient(135deg,#ef4444,#dc2626)}

/* Пагинация */
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:20px;padding:15px 0}
.pagination a,.pagination span{padding:8px 14px;background:white;border-radius:6px;text-decoration:none;color:#475569;font-size:13px;font-weight:600;transition:0.2s;border:1px solid #e2e8f0}
.pagination a:hover{background:#8b5cf6;color:white;border-color:#8b5cf6}
.pagination .active{background:#8b5cf6;color:white;border-color:#8b5cf6}
.pagination .disabled{opacity:0.5;cursor:not-allowed;background:#f8fafc}

/* Пустое состояние */
.empty-state{color:#475569;text-align:center;padding:20px;background:#f8fafc;border-radius:8px}
.empty-state-icon{font-size:32px;margin-bottom:8px;display:block}
.empty-state-text{font-size:13px}

/* Модальные окна */
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:20000;justify-content:center;align-items:center;padding:20px}
.modal-overlay.active{display:flex}
.modal-content{background:white;border-radius:16px;max-width:420px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:modalSlide 0.3s ease}
@keyframes modalSlide{from{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e2e8f0}
.modal-header h3{margin:0;font-size:18px;color:#1e293b}
.modal-close{background:none;border:none;font-size:28px;color:#94a3b8;cursor:pointer;line-height:1;padding:0 4px}
.modal-close:hover{color:#ef4444}
.modal-body{padding:18px 20px}
.modal-user-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}
.modal-user-item:last-child{border-bottom:none}
.modal-user-name{font-weight:600;color:#1e293b;font-size:14px}
.modal-user-recipe{font-size:13px;color:#64748b}
.modal-more{text-align:center;padding:14px 0;color:#94a3b8;font-size:13px}
.stats-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.stats-detail-item{text-align:center;padding:14px;background:#f8fafc;border-radius:10px}
.stats-detail-icon{font-size:26px;display:block;margin-bottom:6px}
.stats-detail-value{font-size:22px;font-weight:800;color:#8b5cf6;display:block}
.stats-detail-label{font-size:11px;color:#64748b;margin-top:4px;display:block;font-weight:500}

/* Категории сверху */
.categories-top{display:none;background:rgba(255,255,255,0.95);border-radius:12px;padding:16px;margin-bottom:20px}
.categories-top .categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.categories-top .category-link{padding:8px 10px;font-size:12px}

/* Аккордеон */
.categories-accordion{display:none}
.categories-accordion summary{display:flex;align-items:center;gap:8px;padding:12px 14px;background:rgba(255,255,255,0.95);border-radius:10px;cursor:pointer;font-weight:600;color:#1e293b;list-style:none;font-size:14px;border:2px solid #e2e8f0}
.categories-accordion summary::-webkit-details-marker{display:none}
.categories-accordion summary::after{content:'▼';margin-left:auto;font-size:11px;transition:transform 0.2s}
.categories-accordion[open] summary::after{transform:rotate(180deg)}
.categories-accordion .sidebar-categories{padding:10px 14px 0;border:none;box-shadow:none;background:transparent}

/* Адаптив */
@media(max-width:1100px){
    .main-layout{grid-template-columns:1fr 260px}
    .sidebar-categories{display:none}
    .categories-top{display:block}
    .top-six-cards{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:767px)
@media(max-width:499px){
    .collections-grid{grid-template-columns:1fr}
    .recipes-grid{grid-template-columns:1fr}
    .top-six-cards{grid-template-columns:1fr}
}

.zeffyr-notification {
    position: fixed;
    top: 90px;
    right: 20px;
    z-index: 9999;
    animation: slideInRight 0.5s ease;
}

.zeffyr-notification-content {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    padding: 16px 20px;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(251,191,36,0.4);
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 300px;
}

.zeffyr-notification-icon {
    font-size: 32px;
    animation: bounce 1s infinite;
}

.zeffyr-notification-title {
    font-size: 16px;
    font-weight: 700;
    color: #78350f;
    margin-bottom: 4px;
}

.zeffyr-notification-desc {
    font-size: 13px;
    color: #92400e;
}

.zeffyr-notification-close {
    background: rgba(255,255,255,0.3);
    border: none;
    color: #78350f;
    font-size: 18px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.2s;
}

.zeffyr-notification-close:hover {
    background: rgba(255,255,255,0.5);
}

@keyframes slideInRight {
    from { transform: translateX(400px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@media (max-width: 768px) {
    .zeffyr-notification { top: 80px; right: 10px; left: 10px; }
    .zeffyr-notification-content { min-width: auto; }
}

/* ========================================
   🍽️ ПЛАНЕТА ВКУСА — Панель главной: поиск, новости, холодильник
   ======================================== */

:root {
    --gradient-fridge: linear-gradient(135deg, #fbbf24, #f59e0b);
    --color-fridge-text: #1e293b;
    --color-text: #1e293b;
    --radius-md: 8px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.home-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 280px 300px; 
    gap: 20px;
    align-items: stretch;
}

.dashboard-card {
    box-sizing: border-box;
    background: var(--gradient-fridge);
    border-radius: var(--radius-md);
    padding: 20px;
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
}

.search-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.search-input-wrapper {
    display: flex;
    gap: 10px;
}

.search-input-main {
    flex: 1;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: var(--radius-md);
    font-size: 16px;
    outline: none;
}

.search-input-main:focus {
    border-color: #f59e0b;
}

.search-btn-main {
    padding: 12px 24px;
    background: #1e293b;
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.search-btn-main:hover {
    background: #334155;
}

.advanced-toggle {
    width: 100%;
    padding: 12px 16px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: var(--radius-md);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.advanced-toggle:hover {
    border-color: #cbd5e1;
}

.advanced-block {
    display: none;
    padding: 20px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    margin-top: 15px;
    animation: fadeIn 0.3s ease;
}

.advanced-block.open {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.news-widget h3 {
    margin: 0 0 16px 0;
    font-size: 17px;
    color: var(--color-text);
    font-weight: 700;
}

.news-item {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px dashed #e2e8f0;
}

.news-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.news-item strong {
    display: block;
    color: var(--color-text);
    margin-bottom: 4px;
}

.fridge-card {
    text-align: center;
    justify-content: center;
}

.btn-fridge-main {
    display: block;
    width: 100%;
    padding: 22px;
    background: var(--gradient-fridge);
    color: var(--color-fridge-text);
    font-size: 18px;
    font-weight: 700;
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(251, 191, 36, 0.3);
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
}

.btn-fridge-main:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(251, 191, 36, 0.45);
}

@media (max-width: 960px) {
    .home-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .home-dashboard-grid { grid-template-columns: 1fr; gap: 15px; }
    .dashboard-card { padding: 16px; }
    .search-input-wrapper { flex-wrap: wrap; }
    .search-input-main { flex: 1 1 100%; margin-bottom: 10px; }
    .search-btn-main { width: 100%; flex: 1 1 100%; }
    .news-widget h3 { font-size: 16px; }
    .fridge-card .btn-fridge-main { padding: 18px; }
}

@media (max-width: 480px) {
    .dashboard-card { padding: 12px; }
    .btn-fridge-main { padding: 14px; font-size: 16px; }
}

.search-modal-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 99999;
    justify-content: center;
    align-items: center;
    padding: 20px;
}
.search-modal-box {
    background: white;
    border-radius: 16px;
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.search-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 2px solid #f1f5f9;
}
.search-modal-header h3 { margin: 0; font-size: 20px; color: #1e293b; }
.search-modal-close { background: none; border: none; font-size: 24px; color: #94a3b8; cursor: pointer; }
.search-modal-close:hover { color: #ef4444; }
.search-modal-body { padding: 24px; }
.sm-group { margin-bottom: 18px; }
.sm-label { display: block; font-size: 14px; font-weight: 600; color: #1e293b; margin-bottom: 6px; }
.sm-input, .sm-select { width: 100%; padding: 12px 14px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 14px; }
.sm-input:focus, .sm-select:focus { outline: none; border-color: #8b5cf6; }
.sm-actions { display: flex; gap: 12px; margin-top: 24px; }
.sm-btn-primary { flex: 1; padding: 14px; background: linear-gradient(135deg, #8b5cf6, #7c3aed); color: white; border: none; border-radius: 8px; font-weight: 700; cursor: pointer; font-size: 15px; }
.sm-btn-primary:hover { box-shadow: 0 8px 20px rgba(139,92,246,0.4); }
.sm-btn-cancel { padding: 14px 24px; background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; border-radius: 8px; font-weight: 600; cursor: pointer; }

.recipe-card .recipe-title,
.recipe-card h2,
.recipe-card h3,
.recipe-card a {
    animation: none !important;
    -webkit-animation: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    opacity: 1 !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: #1e293b !important;
}

.recipe-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #e2e8f0;
}

.sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sidebar-card {
    background: white;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    border: 2px solid #e2e8f0;
}

.sidebar-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 16px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.categories-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.category-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: #f8fafc;
    border-radius: 10px;
    text-decoration: none;
    color: #334155;
    transition: all 0.2s;
    border: 1px solid transparent;
}

.category-link:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    transform: translateX(4px);
}

.category-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.category-name {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
}

.category-count {
    font-size: 12px;
    color: #64748b;
    background: #e2e8f0;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 700;
}

.categories-all {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.show-all-categories-btn {
    width: 100%;
    padding: 12px;
    margin-top: 12px;
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
}

.show-all-categories-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4);
}

.arrow-icon {
    transition: transform 0.3s;
    font-size: 12px;
}

.user-mini-profile {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 2px solid #f59e0b;
}

.user-mini-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.user-mini-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: white;
    overflow: hidden;
    flex-shrink: 0;
}

.user-mini-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-mini-info {
    flex: 1;
}

.user-mini-name {
    font-size: 16px;
    font-weight: 700;
    color: #78350f;
    margin-bottom: 4px;
}

.user-mini-level {
    font-size: 13px;
    color: #92400e;
    font-weight: 600;
}

.user-mini-stats {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.user-mini-stat {
    flex: 1;
    background: white;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.stat-icon {
    font-size: 18px;
}

.stat-value {
    font-size: 16px;
    font-weight: 800;
    color: #78350f;
}

.user-mini-btn {
    display: block;
    width: 100%;
    padding: 12px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    text-align: center;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 700;
    transition: all 0.2s;
}

.user-mini-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4);
}

.community-cta {
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    border: 2px solid #3b82f6;
    text-align: center;
}

.cta-icon {
    font-size: 48px;
    margin-bottom: 12px;
}

.cta-title {
    font-size: 20px;
    font-weight: 800;
    color: #1e40af;
    margin: 0 0 12px 0;
}

.cta-text {
    font-size: 14px;
    color: #1e3a8a;
    line-height: 1.5;
    margin-bottom: 16px;
}

.cta-price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: white;
    padding: 12px;
    border-radius: 10px;
    margin-bottom: 16px;
}

.price-icon {
    font-size: 20px;
}

.price-value {
    font-size: 18px;
    font-weight: 800;
    color: #1e40af;
}

.cta-btn {
    display: block;
    width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    text-align: center;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 15px;
    transition: all 0.2s;
    margin-bottom: 16px;
}

.cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
}

.cta-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.role-badge {
    background: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: #1e40af;
    border: 1px solid #93c5fd;
}

.top-communities {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 2px solid #f59e0b;
}

.communities-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.community-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: white;
    padding: 12px;
    border-radius: 10px;
    transition: all 0.2s;
}

.community-item:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.2);
}

.community-rank {
    font-size: 24px;
    flex-shrink: 0;
}

.community-icon {
    font-size: 32px;
    flex-shrink: 0;
}

.community-info {
    flex: 1;
    min-width: 0;
}

.community-name {
    font-size: 14px;
    font-weight: 700;
    color: #78350f;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.community-meta {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #92400e;
}

.community-owner {
    font-weight: 600;
}

.community-members {
    color: #a16207;
}

.view-all-btn {
    display: block;
    width: 100%;
    padding: 10px;
    background: white;
    color: #78350f;
    text-align: center;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.2s;
    border: 2px solid #f59e0b;
}

.view-all-btn:hover {
    background: #f59e0b;
    color: white;
}

.contests-widget {
    background: linear-gradient(135deg, #fce7f3, #fbcfe8);
    border: 2px solid #ec4899;
}

.contest-item {
    background: white;
    padding: 16px;
    border-radius: 10px;
    margin-bottom: 12px;
}

.contest-community {
    font-size: 12px;
    color: #9d174d;
    font-weight: 600;
    margin-bottom: 8px;
}

.contest-title {
    font-size: 15px;
    font-weight: 700;
    color: #831843;
    margin-bottom: 8px;
}

.contest-prize {
    font-size: 14px;
    color: #be185d;
    font-weight: 700;
    margin-bottom: 12px;
}

.contest-btn {
    display: block;
    width: 100%;
    padding: 10px;
    background: linear-gradient(135deg, #ec4899, #db2777);
    color: white;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.2s;
}

.contest-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(236, 72, 153, 0.4);
}

.quick-links-widget {
    background: #f8fafc;
    border: 2px solid #cbd5e1;
}

.quick-links-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.quick-link-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px;
    background: white;
    border-radius: 10px;
    text-decoration: none;
    color: #334155;
    transition: all 0.2s;
    border: 1px solid #e2e8f0;
}

.quick-link-item:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    transform: translateY(-2px);
}

.quick-link-icon {
    font-size: 24px;
}

.quick-link-text {
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 1023px) {
    .sidebar-left, .sidebar-right { display: none; }
}

@media (max-width: 768px) {
    .categories-grid, .categories-all { grid-template-columns: 1fr; }
    .quick-links-grid { grid-template-columns: 1fr; }
}