.novea-shop__topbar { border-bottom: 1px solid var(--novea-gray); background: var(--novea-white); }
.novea-shop__topbar-inner {
    max-width: 1440px; margin: 0 auto; padding: 22px 48px;
    display: flex; justify-content: space-between; align-items: center; gap: 24px;
}
.novea-breadcrumb { font: 400 12px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--novea-muted); }
.novea-breadcrumb a { color: var(--novea-muted); text-decoration: none; transition: color .2s; }
.novea-breadcrumb a:hover { color: var(--novea-teal); }
.novea-breadcrumb__sep { margin: 0 10px; color: var(--novea-gold); }
.novea-breadcrumb__current { color: var(--novea-noir); font-weight: 600; }

.novea-sort select {
    appearance: none; -webkit-appearance: none;
    border: 1px solid var(--novea-gray); border-radius: 0;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%230D3B3D' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;
    padding: 11px 38px 11px 16px;
    font: 400 12px/1 var(--font-body); letter-spacing: .08em;
    color: var(--novea-text); cursor: pointer;
}

.novea-shop__layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 72px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 72px 48px;
}

.novea-filter-block + .novea-filter-block { margin-top: 52px; }
.novea-filter-title {
    display: inline-block;
    font: 600 12px/1 var(--font-body);
    letter-spacing: .16em; text-transform: uppercase;
    color: var(--novea-noir);
    padding-bottom: 14px; margin: 0 0 18px;
    border-bottom: 2px solid var(--novea-gold);
}
.novea-filter-list { list-style: none; margin: 0; padding: 0; }
.novea-filter-list li + li { margin-top: 2px; }
.novea-filter-link {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: 9px 0;
    font: 400 15px/1.4 var(--font-body);
    color: var(--novea-text); text-decoration: none;
    transition: color .2s ease, padding-left .25s ease;
}
.novea-filter-link:hover { color: var(--novea-teal); padding-left: 6px; }
.novea-filter-link.is-active { color: var(--novea-teal); font-weight: 600; }
.novea-filter-count { font: 400 11px/1 var(--font-mono); color: #B0B0AC; }

.novea-products-grid {
    list-style: none; margin: 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px 36px;
}

.novea-product-card { position: relative; }
.novea-product-card__media {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #F2F2EE;
    overflow: hidden;
    margin: 0 0 20px;
}
.novea-product-card__media-link { display: block; height: 100%; }
.novea-product-card__media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}
.novea-product-card:hover .novea-product-card__media img { transform: scale(1.04); }

.novea-product-card__badge {
    position: absolute; top: 14px; left: 14px; z-index: 2;
    background: var(--novea-teal); color: #fff;
    font: 500 10px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase;
    padding: 7px 10px;
}

.novea-product-card__cta {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    background: var(--novea-noir); color: #fff;
    text-align: center; text-decoration: none;
    font: 500 11px/1 var(--font-body); letter-spacing: .16em; text-transform: uppercase;
    padding: 15px 0;
    transform: translateY(100%);
    transition: transform .35s ease;
}
.novea-product-card:hover .novea-product-card__cta { transform: translateY(0); }

.novea-product-card__name { margin: 0 0 6px; }
.novea-product-card__name a {
    font: 500 22px/1.2 var(--font-display);
    color: var(--novea-noir); text-decoration: none; transition: color .2s;
}
.novea-product-card__name a:hover { color: var(--novea-teal); }
.novea-product-card__benefit { font: 400 13px/1.5 var(--font-body); color: var(--novea-muted); margin: 0 0 10px; }
.novea-product-card__price { font: 500 14px/1 var(--font-mono); color: var(--novea-teal); }

.novea-shop__content .pagination { margin-top: 80px; display: flex; gap: 8px; justify-content: center; }
.pagination .page-numbers {
    width: 44px; height: 44px; display: grid; place-items: center;
    border: 1px solid var(--novea-gray);
    font: 500 13px/1 var(--font-mono); color: var(--novea-text); text-decoration: none;
    transition: all .2s;
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current { background: var(--novea-teal); border-color: var(--novea-teal); color: #fff; }

.novea-empty { padding: 80px 0; text-align: center; color: var(--novea-muted); font: 400 16px/1.6 var(--font-body); }

.novea-filters-toggle { display: none; }

@media (max-width: 1100px) {
    .novea-products-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .novea-shop__layout { grid-template-columns: 1fr; gap: 40px; padding: 40px 20px; }
    .novea-shop__topbar-inner { padding: 16px 20px; }
    .novea-filters-toggle {
        display: inline-block;
        border: 1px solid var(--novea-noir); background: transparent;
        font: 600 11px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase;
        padding: 11px 18px; cursor: pointer;
    }
    .novea-shop__sidebar { display: none; }
    .novea-shop__sidebar.is-open { display: block; }
}
@media (max-width: 560px) {
    .novea-products-grid { grid-template-columns: 1fr; gap: 48px; }
}
