.pwp-productlisting-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin: 1.25rem 0;
}

#js-product-list.pwp-productlisting-enhanced .pagination {
    display: none !important;
}

.pwp-productlisting-progress {
    color: var(--pwp-client-muted, #657084);
    font-size: 0.875rem;
    line-height: 1.4;
    text-align: center;
}

.pwp-productlisting-edge {
    display: flex;
    justify-content: center;
    min-height: 1px;
}

.pwp-productlisting-edge-status {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--pwp-client-muted, #657084);
    font-size: 0.875rem;
    line-height: 1.4;
    padding: 0.5rem 0;
}

.pwp-productlisting-edge-status[hidden] {
    display: none !important;
}

.pwp-productlisting-edge-status[data-loading="true"]::before {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 1.1rem;
    border: 2.5px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    content: "";
    animation: pwp-productlisting-spin 700ms linear infinite;
}

.pwp-productlisting-edge-status[data-loading="true"] {
    min-height: 3rem;
    padding: 0.65rem 1rem;
    border: 1px solid color-mix(in srgb, var(--pwp-client-primary, #0b4f8a) 28%, white);
    border-radius: 4px;
    background: var(--pwp-client-soft, #e8f5fc);
    color: var(--pwp-client-primary, #0b4f8a);
    font-size: 0.95rem;
    font-weight: 600;
}

.pwp-productlisting-sentinel {
    display: block;
    width: 1px;
    height: 1px;
}

@keyframes pwp-productlisting-spin {
    to { transform: rotate(360deg); }
}

.pwp-productlisting-load-more[hidden] {
    display: none !important;
}

.pwp-productlisting-load-more:focus-visible {
    outline: 3px solid var(--pwp-client-accent, #7354e8);
    outline-offset: 3px;
}

.pwp-productlisting-products .pwp-productlisting-return-highlight .thumbnail-container {
    outline: 3px solid var(--pwp-client-accent, #7354e8);
    outline-offset: 2px;
    transition: outline-color 180ms ease-out;
}

.pwp-productlisting-products {
    overflow-anchor: none;
}

body.pwp-clientcatalogue-page {
    overflow-anchor: none;
}

html.pwp-productlisting-standard-page {
    overflow-anchor: none;
}

@media (prefers-reduced-motion: reduce) {
    .pwp-productlisting-edge-status[data-loading="true"]::before {
        animation: none;
    }

    .pwp-productlisting-products .pwp-productlisting-return-highlight .thumbnail-container {
        transition: none;
    }
}
