/* Compass page component — isolated. */

.compass-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    margin-top: 8px;
    transition: color .2s;
}
.compass-back-link:hover { color: #10b981; }



/* ── Pagination ── */
.compass-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 28px 0 12px;
    padding-top: 20px;
    border-top: 1px solid #f1f5f9;
}
.compass-page-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.78rem;
    text-decoration: none;
    transition: all .2s;
}
.compass-page-btn.prev {
    background: var(--color-primary, #059669);
    color: #fff;
    border: 1.5px solid transparent;
    box-shadow: 0 3px 10px rgba(16,185,129,.25);
}
.compass-page-btn.prev:hover { box-shadow: 0 5px 16px rgba(16,185,129,.35); }
.compass-page-btn.next {
    background: var(--color-primary, #059669);
    color: #fff;
    border: 1.5px solid transparent;
    box-shadow: 0 3px 10px rgba(16,185,129,.25);
}
.compass-page-btn.next:hover { box-shadow: 0 5px 16px rgba(16,185,129,.35); }
.compass-page-info {
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 500;
}
.compass-page-info strong { color: #1e293b; }

/* ── Breadcrumbs ── */
.compass-breadcrumb {
    padding: 10px 0 0;
}
.compass-breadcrumb ul {
    display: flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    padding: 0; margin: 0;
    font-size: 0.78rem;
}
.compass-breadcrumb li { color: rgba(255,255,255,.4); }
.compass-breadcrumb li a {
    color: rgba(255,255,255,.5);
    text-decoration: none;
    transition: color .2s;
}
.compass-breadcrumb li a:hover { color: #10b981; }
.compass-breadcrumb li + li::before {
    content: '→';
    margin-right: 6px;
    opacity: .35;
}

/* ── Empty State ── */
.compass-empty {
    text-align: center;
    padding: 80px 24px;
    color: #94a3b8;
}
.compass-empty svg {
    width: 64px; height: 64px;
    margin: 0 auto 20px;
    opacity: .3;
    display: block;
}
.compass-empty h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #cbd5e1;
    margin: 0 0 8px;
}
.compass-empty p { font-size: 0.88rem; margin: 0; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .compass-hero-bar { padding: 28px 0 24px; }
    .compass-hero-title h1 { font-size: 1.8rem; }
    .compass-hero-stats { display: none; }
    .compass-body { padding: 20px 14px 48px; }
    .compass-body.catalog-page-body { padding: 0 14px 48px; }
    .compass-featured { grid-template-columns: 1fr; grid-template-rows: auto; gap: 12px; margin-bottom: 28px; }
    .compass-main-card { min-height: 260px; height: auto; }
    .compass-main-content h2 { font-size: 1.2rem; }
    /* Override desktop overflow:hidden on both base AND parent-combinator selectors */
    .compass-side-stack,
    .compass-featured > .compass-side-stack {
        flex-direction: row;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 10px;
        max-height: none;
        height: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -ms-overflow-style: none;
        touch-action: pan-x;
    }
    .compass-side-stack::-webkit-scrollbar { display: none; }
    /* Фикс ширины (flex-basis:auto растягивал карточки по тексту) + квадратное фото */
    .compass-side-card { width: 100%; min-width: 0; max-width: 100%; flex-direction: column; height: auto; scroll-snap-align: start; flex-shrink: 0; }
    .compass-side-card-wrap { overflow: visible; flex-shrink: 0; width: 200px; min-width: 200px; max-width: 200px; flex: 0 0 200px; }
    .compass-side-img { width: 100%; min-width: 0; height: auto; aspect-ratio: 1 / 1; }
    .compass-section-head h2 { font-size: 1.1rem; }
    .compass-filter-bar { top: 56px; }

    /* ── Mobile: Filter bar & brand ── */
    .compass-filter-inline {
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 0;
        overflow: visible;
    }
    .compass-filter-brand {
        padding: 10px 14px;
        justify-content: center;
        gap: 8px;
    }
    .compass-filter-brand-icon {
        width: 24px; height: 24px;
    }
    .compass-filter-brand-icon svg {
        width: 14px; height: 14px;
    }
    .compass-filter-brand-text {
        font-size: 1.1rem;
    }
    .compass-filter-divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, transparent, #e2e8f0, transparent);
        margin: 0;
    }
    .compass-filter-tabs {
        padding: 8px 10px;
        justify-content: flex-start;
        gap: 4px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .compass-tab {
        padding: 5px 10px;
        font-size: 0.75rem;
    }
    .compass-tab .tab-count {
        padding: 1px 5px;
        font-size: 0.6rem;
    }
    .compass-type-filter-inner {
        padding: 8px 10px;
        gap: 6px;
    }
    .compass-type-filter-label {
        width: 100%;
        margin-bottom: 2px;
    }
    a.compass-type-chip {
        padding: 4px 10px;
        font-size: 0.72rem;
    }

    /* ── Mobile: Section heads ── */
    .compass-section-head {
        padding: 12px 14px;
        margin-bottom: 14px;
        flex-wrap: wrap;
        gap: 8px;
    }
    .compass-section-head h2 {
        font-size: 0.95rem;
        gap: 8px;
    }
    .compass-section-head h2 .section-icon {
        width: 28px; height: 28px;
        border-radius: 8px;
    }
    .compass-section-head h2 .section-icon svg {
        width: 16px; height: 16px;
    }
    .compass-section-badge {
        font-size: 0.65rem;
        padding: 3px 8px;
    }

}
