/**
 * File: assets/css/frontend/catalog/toolbar.css
 * Purpose: Styles the single merged Marketplace toolbar for result count, filters, sorting, page size and view controls.
 * Scope: Unified Marketplace toolbar only.
 * Related PHP: src/Product/Catalog/Frontend/CatalogToolbarRenderer.php
 * Related CSS: assets/css/frontend/catalog/layout.css, assets/css/frontend/catalog/responsive.css
 * Related JS: assets/js/frontend/catalog/toolbar.js
 * Package: HyperDAF Engine
 */

.hdf-catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, auto) minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: .8rem .9rem;
    border: 1px solid var(--hdf-market-border, var(--hdf-engine-color-border));
    border-radius: 14px;
    background: var(--hdf-engine-color-surface);
    box-shadow: 0 4px 14px rgb(16 24 40 / 4%);
}

.hdf-catalog-toolbar__summary {
    margin: 0;
    color: var(--hdf-engine-color-text-secondary);
    font-size: .86rem;
    font-weight: 700;
    white-space: nowrap;
}

.hdf-catalog-toolbar__form {
    display: grid;
    grid-template-columns: minmax(210px, 1.25fr) minmax(145px, .72fr) minmax(150px, .78fr) minmax(118px, .58fr) auto;
    gap: .55rem;
    align-items: center;
    min-width: 0;
}

.hdf-catalog-toolbar__field {
    min-width: 0;
}

.hdf-catalog-toolbar input,
.hdf-catalog-toolbar select {
    width: 100%;
    min-height: 42px;
    padding: .55rem .72rem;
    border: 1px solid var(--hdf-market-border, var(--hdf-engine-color-border));
    border-radius: var(--hdf-engine-radius-md);
    background: var(--hdf-engine-color-surface);
    color: var(--hdf-engine-color-text);
    font: inherit;
}

.hdf-catalog-toolbar input:focus,
.hdf-catalog-toolbar select:focus {
    border-color: var(--hdf-engine-color-primary-strong, var(--hdf-engine-color-primary-strong));
    outline: 2px solid rgb(79 122 32 / 18%);
    outline-offset: 1px;
}

.hdf-catalog-toolbar__actions {
    display: flex;
    gap: .45rem;
}

.hdf-catalog-control {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: .55rem .82rem;
    border: 1px solid transparent;
    border-radius: var(--hdf-engine-radius-md);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.hdf-catalog-control--primary {
    border-color: var(--hdf-engine-color-primary-strong, var(--hdf-engine-color-primary-strong));
    background: var(--hdf-engine-color-primary-strong, var(--hdf-engine-color-primary-strong));
    color: var(--hdf-engine-color-surface);
}

.hdf-catalog-control--primary:hover,
.hdf-catalog-control--primary:focus-visible {
    border-color: var(--hdf-engine-color-primary-hover, var(--hdf-engine-color-primary-hover));
    background: var(--hdf-engine-color-primary-hover, var(--hdf-engine-color-primary-hover));
    color: var(--hdf-engine-color-surface);
}

.hdf-catalog-control--ghost {
    border-color: var(--hdf-market-border, var(--hdf-engine-color-border));
    background: var(--hdf-engine-color-surface);
    color: var(--hdf-engine-color-text-secondary);
}

.hdf-catalog-control--ghost:hover,
.hdf-catalog-control--ghost:focus-visible {
    border-color: var(--hdf-engine-color-primary-strong, var(--hdf-engine-color-primary-strong));
    color: var(--hdf-engine-color-primary-strong, var(--hdf-engine-color-primary-strong));
}

.hdf-catalog-view {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid var(--hdf-market-border, var(--hdf-engine-color-border));
    border-radius: var(--hdf-engine-radius-md);
}

.hdf-catalog-view a {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    background: var(--hdf-engine-color-surface);
    color: var(--hdf-engine-color-text-muted);
    text-decoration: none;
}

.hdf-catalog-view a + a {
    border-left: 1px solid var(--hdf-market-border, var(--hdf-engine-color-border));
}

.hdf-catalog-view a:hover,
.hdf-catalog-view a:focus-visible,
.hdf-catalog-view a.is-active {
    background: var(--hdf-engine-color-surface-selected);
    color: var(--hdf-engine-color-primary-strong, var(--hdf-engine-color-primary-strong));
    font-weight: 800;
}
