/* Batch 5: contrast, focus visibility and touch targets. */
#searchSuggestions { max-height: 45vh; overflow-y: auto; background: #fff; text-align: left; }
#searchSuggestions:empty { display: none; }
#searchSuggestions a { display: block; padding: .65em .8em; color: #003f78; border-bottom: 1px solid #ddd; }
#searchSuggestions a:hover, #searchSuggestions a:focus { background: #e7f0fa; color: #002c55; }
body,
.hiddenemail {
    color: #545454;
}


.category__product_count {
    color: #545454;
    font-size: 0.9em;
}

/* Keep the existing full-width page wrapper intact while pushing the footer
   to the viewport bottom on short pages. */
.page__wrap { display: flex; flex-direction: column; min-height: 100vh; }
.page__wrap main { flex: 1 0 auto; }
.page__wrap footer { margin-top: auto; }
.footer__top, .footer__top a { color: #222; }

/* Supplier detail: the catalog groups must span the page, not the logo tile. */
.grid__image_no1 .rwd__grid_col_3_12:has(.supplier__category) { width: 100%; margin-left: 0; }
.grid__image_no1 .supplier__category { clear: both; margin: 2rem 0 1rem; color: #015198; font-size: 1.5rem; }
.grid__image_no1 .supplier__category + .rwd__cards { width: 100%; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
label.responsive_menu:focus-visible {
    outline: 3px solid #015198;
    outline-offset: 3px;
}

.product__offer_list_actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
    margin: 1rem 0 1.5rem;
}

.product__offer_list_actions form {
    margin: 0;
}

.product__offer_list_actions .product__offer_list_action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 0.85rem;
    border: 1px solid #005198;
    border-radius: 3px;
    background: #fff;
    color: #005198;
    font: inherit;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.product__offer_list_actions .product__offer_list_action:hover,
.product__offer_list_actions .product__offer_list_action:focus-visible {
    border-color: #003b70;
    background: #003b70;
    color: #fff;
}

.product__offer_list_actions .product__offer_list_action:focus-visible {
    outline: 2px solid #003b70;
    outline-offset: 3px;
}

@media only screen and (max-width: 960px) {
    .hd__slices_nav nav,
    .hd__slices_nav .menu,
    input#responsive_menu:checked + nav .menu {
        background: #fff;
    }

    .hd__slices_nav .menu a {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 15px;
    }

    .hd__slices_nav label.responsive_menu {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        margin: 0 4.25em 0 0;
    }

    .hd-social a,
    .rwd__tbl_cell_social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
    }
}
