/* ── only what Bootstrap utilities cannot express ── */

/* Brand-colour border on header */
.suppliers-page__header {
    border-bottom: 2px solid #007ec0;
}
.suppliers-page__heading {
    color: #00406e;
}

/* Search: keep the SVG magnifier + focus ring override */
.suppliers-search__input {
    width: 220px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23999%27 stroke-width=%272%27%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%278%27/%3E%3Cpath d=%27m21 21-4.35-4.35%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 10px center;
    padding-left: 34px;
}
.suppliers-search__input:focus {
    border-color: #007ec0;
    box-shadow: none;
}

/* Filter buttons — brand colours + aria-pressed state */
.suppliers-filter__tab {
    border-color: #007ec0 !important;
    color: #000 !important;
    padding: 10px 9px;
}
.suppliers-filter__tab:hover {
    background-color: #e8f4fb !important;
}
.suppliers-filter__tab[aria-pressed="true"] {
    background-color: #007ec0 !important;
    color: #fff !important;
}
.suppliers-filter__tab[aria-pressed="true"]:hover {
    background-color: #006aa3 !important;
}

/* Badge — override Bootstrap badge defaults */
.suppliers-filter__count {
    background-color: #e8f4fb !important;
    color: #dc3545 !important;
}
.suppliers-filter__tab[aria-pressed="true"] .suppliers-filter__count {
    background-color: rgba(255, 255, 255, 0.25) !important;
    color: #fff !important;
}

/* Supplier grid */
.suppliers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0;
    padding-bottom: 24px;
}
.supplier-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    height: 154px;
    padding: 12px;
    border: none;
    border-radius: 0;
    background: #fff;
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.supplier-item:hover {
    box-shadow: 0 4px 14px rgba(0, 126, 192, 0.15);
    transform: translateY(-2px);
}
.supplier-item--hidden {
    display: none;
}
.supplier-item--highlight:hover {
    box-shadow: 0 4px 14px rgba(0, 126, 192, 0.15);
}
.supplier-logo {
    max-width: 120px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Mobile overrides */
@media (max-width: 575px) {
    .suppliers-page__header {
        display: none;
    }
    .suppliers-filter .btn-group {
        width: 100%;
    }
    .suppliers-filter__tab {
        flex: 1 1 0;
        min-width: 0;
        white-space: normal;
        word-break: break-word;
        padding: 10px 4px !important;
        font-size: 0.7rem !important;
        line-height: 1.2;
    }
    .suppliers-filter__count {
        display: none !important;
    }
    .suppliers-filter__tab-sub {
        display: none;
    }
    .suppliers-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 0;
    }
    .supplier-item {
        height: 124px;
        padding: 8px;
    }
    .supplier-logo {
        max-width: 90px;
        max-height: 50px;
    }
}

/* CSS columns — no BS5 utility for multi-column text layout */
.brand-assortment          { column-count: 2; column-gap: 1.5rem; }
.brand-assortment li       { break-inside: avoid; }
.brand-assortment li::before {
    content: '\2022';
    color: #FF9900;
    font-weight: 700;
    margin-right: .5rem;
}

/* Pseudo-selectors on sidebar links */
.brand-sidebar__link:last-child { border-bottom: none !important; }
.brand-sidebar__link:hover      { color: #00406e; text-decoration: underline; }

/* Descendant rule for raw server-rendered HTML inside brand info */
.brand-info__text p { margin-bottom: .625rem; }

@media (max-width: 767px) {
    .brand-assortment { column-count: 1; }
}

@media (max-width: 575px) {
    .brand-info__image { float: none !important; max-width: 100% !important; margin-left: 0 !important; }
}

