/* Wspólny układ katalogu, kategorii i pozostałych publicznych taksonomii. */
.storefront-content .prezlo-page-heading {
    padding: 34px 0 38px;
    background: #fff;
}
.storefront-content .prezlo-page-heading.has-featured-image {
    background: #3a342e;
    min-height: 210px;
}

.storefront-content .prezlo-page-heading .source-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 17px;
    line-height: 1.5;
}

.storefront-content .prezlo-page-heading h1 {
    margin: 0;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 500;
    line-height: 1.2;
}

.storefront-content .source-catalog {
    max-width: 1440px;
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    gap: clamp(28px, 3.5vw, 50px);
}

.storefront-content .source-sidebar-panel {
    top: 26px;
}

.storefront-content .source-sidebar-panel nav {
    display: flex;
    flex-direction: column;
}

.storefront-content .source-category-link {
    text-decoration: none;
}

.storefront-content .source-catalog-results {
    min-width: 0;
}

.storefront-content .source-catalog-toolbar {
    margin-bottom: 30px;
}

.storefront-content .source-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px 20px;
}

.storefront-content .source-product-card .source-product-media {
    aspect-ratio: .7037037037;
    border-radius: 16px;
}

.storefront-content .source-product-card .source-product-media img {
    object-fit: cover;
}

.storefront-content .source-product-card .source-product-content {
    display: grid;
    gap: 5px;
    padding: 15px 2px 0;
}

.storefront-content .source-product-card .name-product {
    min-height: 0;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.storefront-content .source-product-card .price-wrap {
    margin: 0;
    color: var(--primary);
    font-size: 16px;
    font-weight: 600;
}

.storefront-content .source-product-card a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}

@media (max-width: 1199px) {
    .storefront-content .source-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 781px) {
    .storefront-content .source-catalog {
        display: block;
    }

    .storefront-content .source-sidebar-panel nav {
        flex-direction: row;
    }

    .storefront-content .source-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .storefront-content .prezlo-page-heading {
        padding: 26px 0;
    }

    .storefront-content .source-product-grid {
        gap: 24px 12px;
    }
}

/* Filtry mają tę samą strukturę na sklepie, kategorii, marce, tagu i stronie atrybutu. */
.storefront-content .source-sidebar-panel{max-height:calc(100vh - 42px);overflow-y:auto}
.storefront-content .catalog-filter-form{display:grid;gap:0;margin-top:22px}
.storefront-content .catalog-filter-group{border:0;border-top:1px solid #ece4df;padding:18px 0;margin:0;min-width:0}
.storefront-content .catalog-filter-group legend{float:none;width:100%;padding:0 0 12px;font-size:15px;font-weight:600}
.storefront-content .catalog-filter-choice{display:flex;align-items:center;gap:9px;padding:6px 4px;font-size:13px;cursor:pointer}
.storefront-content .catalog-filter-choice:hover{color:var(--primary)}
.storefront-content .catalog-filter-choice input{width:16px;height:16px;accent-color:var(--primary);margin:0}
.storefront-content .catalog-price-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.storefront-content .catalog-price-fields label{display:grid;gap:5px;font-size:12px}
.storefront-content .catalog-price-fields label span{text-transform:capitalize}
.storefront-content .catalog-price-fields input{width:100%;min-width:0;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px 9px}
.storefront-content .catalog-filter-apply{width:100%;margin-top:8px;border-radius:8px;background:var(--primary);color:#fff}
.storefront-content .catalog-filter-clear{display:block;text-align:center;padding:12px 6px;color:#9b432f;font-size:13px}
.storefront-content .catalog-view-settings{position:relative;flex:0 0 auto}
.storefront-content .catalog-view-settings summary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:9px 16px;border:1px solid var(--line);border-radius:9px;cursor:pointer;list-style:none;background:#fff}
.storefront-content .catalog-view-settings summary::-webkit-details-marker{display:none}
.storefront-content .catalog-view-settings[open] summary{border-color:var(--primary)}
.storefront-content .catalog-view-fields{position:absolute;z-index:8;right:0;top:calc(100% + 8px);width:min(330px,90vw);display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 34px #20160f18}
.storefront-content .catalog-view-fields label{display:grid;gap:5px;font-size:12px}
.storefront-content .catalog-view-fields select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;background:#fff}
.storefront-content .catalog-view-fields button{border-radius:8px;background:var(--primary);color:#fff}
.storefront-content .source-product-grid{grid-template-columns:repeat(var(--catalog-desktop-columns,4),minmax(0,1fr))}
@media(max-width:1199px){.storefront-content .source-product-grid{grid-template-columns:repeat(var(--catalog-tablet-columns,3),minmax(0,1fr))}}
@media(max-width:781px){.storefront-content .source-sidebar-panel{max-height:none;overflow:visible}.storefront-content .source-product-grid{grid-template-columns:repeat(var(--catalog-phone-columns,2),minmax(0,1fr))}.storefront-content .catalog-view-settings{align-self:flex-start}}
@media(max-width:520px){.storefront-content .source-product-grid{grid-template-columns:repeat(var(--catalog-phone-columns,2),minmax(0,1fr))}}
