/* Compass page component — isolated. */

/* ── 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; }
    .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; }
    .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; border-radius: var(--z-card-radius, 18px); }
    .compass-section-head h2 { font-size: 1rem; }
    .compass-filter-bar { top: 56px; }

    .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: 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;
    }

    .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;
    }
}
