/* SCHWAN Suche, 20260925.1. Ergaenzt die vorhandenen Theme-Stile. */
.schwan-search-filter-summary,
.schwan-search-filter-close { display: none; }
.schwan-search-filter-active {
    border-radius: 12px; background: #c9141c; color: #fff;
    padding: 2px 10px; font-size: 13px; font-weight: normal;
}
body #d3_extsearch_quicksearch { max-width: 100%; }
body #d3_extsearch_quicksearch .headline { padding-right: 56px; min-height: 44px; }
body #d3_extsearch_quicksearch .closebtn {
    width: 44px; height: 44px; right: 4px; border: 0;
    background: transparent; border-radius: 0; line-height: 1;
}
body #d3_extsearch_quicksearch .closebtn:before {
    content: "\00d7"; font-family: Arial, sans-serif; font-size: 26px;
    font-weight: 400; line-height: 44px;
}
body #d3_extsearch_quicksearch .closebtn:hover,
body #d3_extsearch_quicksearch .closebtn:focus { background: rgba(0,0,0,.06); }
body #d3_extsearch_quicksearch a:focus,
body #d3_extsearch_quicksearch button:focus,
#d3searchfilterform button:focus,
#d3searchfilterform input:focus,
#d3searchfilterform select:focus,
.d3_extsearch_navigation .letter-wrapper a:focus {
    outline: 2px solid currentColor; outline-offset: 2px;
}
body #d3_extsearch_quicksearch .list {
    max-height: min(55vh, 440px); overscroll-behavior: contain;
}
body #d3_extsearch_quicksearch .d3QSItem {
    min-height: 44px; overflow-wrap: break-word; word-wrap: break-word;
}
body #d3_extsearch_quicksearch .item_act,
body #d3_extsearch_quicksearch .d3QSItem:focus {
    background-color: #f2f2f2; text-decoration: underline;
}
body #d3_extsearch_quicksearch .d3_extsearch_footer { min-height: 56px; }
body #d3_extsearch_quicksearch .d3_extsearch_footer .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#d3searchfilterform .schwan-filter-actions .btn {
    min-height: 44px; white-space: normal; overflow-wrap: break-word;
}
#d3searchfilterform .multiselectvalue label { min-height: 32px; cursor: pointer; }
#d3searchfilterform .multiselectvalue input[disabled] { cursor: not-allowed; }
@media (max-width: 991px) {
    .schwan-search-filters-mobile { margin: 0 0 16px; border: 1px solid #ddd; }
    .schwan-search-filters-mobile .schwan-search-filter-summary {
        display: flex; align-items: center; gap: 10px; cursor: pointer;
        min-height: 48px; padding: 10px 12px; font-weight: 700;
        background: #f5f5f5; list-style: none;
    }
    .schwan-search-filters-mobile .schwan-search-filter-summary::-webkit-details-marker { display: none; }
    .schwan-search-filters-mobile .schwan-search-filter-summary:focus,
    .schwan-search-filters-mobile .schwan-search-filter-close:focus { outline: 2px solid #c9141c; outline-offset: 2px; }
    .schwan-search-filters-mobile .schwan-search-filter-chevron {
        margin-left: auto; width: 9px; height: 9px; border-right: 2px solid;
        border-bottom: 2px solid; transform: rotate(45deg); flex: 0 0 auto;
    }
    .schwan-search-filters-mobile[open] .schwan-search-filter-chevron { transform: rotate(225deg); }
    .schwan-search-filters-mobile .schwan-search-filter-content { padding: 12px; }
    .schwan-search-filters-mobile .schwan-search-filter-heading { display: none; }
    .schwan-search-filters-mobile .schwan-search-filter-close { display: block; min-height: 44px; margin: 0 12px 12px; width: calc(100% - 24px); }
    .schwan-search-filters-mobile #d3searchfilterform .form-control,
    .schwan-search-filters-mobile #d3searchfilterform .btn { min-height: 44px; }
    .schwan-search-filters-mobile #d3searchfilterform .checkbox { padding-top: 8px; padding-bottom: 8px; }
    body .xajax_resp_flow.suggestVisible {
        display: block; left: 0 !important; right: 0; width: 100% !important; max-width: 100%;
    }
    body #d3_extsearch_quicksearch .list { max-height: 50vh; }
    body #d3_extsearch_quicksearch .list[class] .articlebox,
    body #d3_extsearch_quicksearch .list[class] .categorybox,
    body #d3_extsearch_quicksearch .list[class] .manufacturerbox,
    body #d3_extsearch_quicksearch .list[class] .vendorbox,
    body #d3_extsearch_quicksearch .list[class] .contentbox {
        float: none; clear: both; width: 100%; border-right: 0;
    }
    body #d3_extsearch_quicksearch .d3_extsearch_footer .btn { float: none !important; width: 100%; }
    #d3searchfilterform .form-control { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    body #d3_extsearch_quicksearch .btn,
    #d3searchfilterform .btn { transition: none; }
}

/* SCHWAN A-Z 20260925.1: component styles work in sidebar and mobile content. */
body #sidebar .schwan-search-filters .letter-wrapper,
body #content .schwan-search-filters .letter-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(46px, 1fr));
    gap: 4px;
    width: 100%;
    margin: 0;
}
body #sidebar .schwan-search-filters .letter-wrapper > [class*="letter_"],
body #content .schwan-search-filters .letter-wrapper > [class*="letter_"] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    float: none;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    box-shadow: none;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink,
body #content .schwan-search-filters .letter-wrapper > .indexlink {
    color: #666;
    background: #f3f3f3;
    border-color: transparent;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink_usable,
body #content .schwan-search-filters .letter-wrapper > .indexlink_usable {
    color: #a31119;
    background: #fff;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink_usable > a,
body #content .schwan-search-filters .letter-wrapper > .indexlink_usable > a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 4px 2px;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink_usable.active,
body #content .schwan-search-filters .letter-wrapper > .indexlink_usable.active {
    color: #fff;
    background: #c9141c;
    border-color: #c9141c;
    font-weight: 700;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink_usable > a:hover,
body #content .schwan-search-filters .letter-wrapper > .indexlink_usable > a:hover {
    box-shadow: inset 0 0 0 1px currentColor;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink_usable.active > a,
body #content .schwan-search-filters .letter-wrapper > .indexlink_usable.active > a {
    color: #fff;
    font-weight: 700;
}
body #sidebar .schwan-search-filters .letter-wrapper > .indexlink_usable > a:focus,
body #content .schwan-search-filters .letter-wrapper > .indexlink_usable > a:focus {
    outline: 2px solid #242424;
    outline-offset: 1px;
}
