/* Holsterwelt Quick Fit 0.6.1 */
.hw-quick-fit {
    margin-bottom: 0.75rem;
}

.hw-quick-fit__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.hw-quick-fit__input {
    margin-bottom: 0.25rem;
}

.hw-quick-fit__status {
    display: block;
    line-height: 1.35;
}

.hw-model-guide {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #d7dee8;
    border-left: 4px solid #0b4b78;
    border-radius: 0.35rem;
    background: #f7f9fc;
}

.hw-model-guide__title {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
}

.hw-model-guide__copy {
    margin: 0 0 0.75rem;
    color: #3f4b57;
}

.hw-model-guide__choices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.hw-model-guide__choice {
    min-height: 2.75rem;
}

/* Desktop/tablet: keep long variation labels within the selector column. */
@media (min-width: 576px) {
    .slpx-variation-group-selectbox .bootstrap-select {
        min-width: 0;
        max-width: 100%;
    }

    .slpx-variation-group-selectbox .bootstrap-select .dropdown-menu {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
    }

    .slpx-variation-group-selectbox .bootstrap-select .dropdown-menu.inner {
        overflow-x: hidden;
    }

    .slpx-variation-group-selectbox .bootstrap-select .dropdown-item,
    .slpx-variation-group-selectbox .bootstrap-select .dropdown-item .d-flex {
        min-width: 0;
        height: auto;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

@media (max-width: 575.98px) {
    .hw-model-guide__choice {
        flex: 1 1 calc(50% - 0.5rem);
    }

    .productlist-filters-container {
        flex-wrap: wrap;
        min-width: 0;
    }

    .productlist-filters-container > * {
        min-width: 0;
    }

    .productlist-filters_note {
        margin-left: 0 !important;
    }

    /* Keep product ratings in their own row below the image on mobile. */
    .productlist-mode-gallery .productbox-inner::before {
        content: "";
        order: 1;
        flex: 0 0 1.75rem;
    }

    .productlist-mode-gallery .productbox-inner > .productbox-images {
        order: 0;
        margin-bottom: 0.25rem;
    }

    .productlist-mode-gallery .productbox-inner > .productbox-rating {
        position: static !important;
        order: 1;
        align-self: flex-end;
        min-height: 1.375rem;
        margin-top: -1.75rem;
        margin-bottom: 0.375rem;
        z-index: auto;
    }

    .productlist-mode-gallery .productbox-inner > :not(.productbox-images):not(.productbox-rating) {
        order: 2;
    }

    /* Long variation names must wrap instead of widening the mobile page. */
    .slpx-variation-group-selectbox .bootstrap-select .dropdown-menu {
        max-width: calc(100vw - 2rem);
    }

    .slpx-variation-group-selectbox .bootstrap-select .dropdown-menu.inner {
        overflow-x: hidden;
    }

    .slpx-variation-group-selectbox .bootstrap-select .dropdown-item,
    .slpx-variation-group-selectbox .bootstrap-select .dropdown-item .d-flex {
        height: auto;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    .slpx-variation-group-selectbox .bootstrap-select .filter-option-inner-inner,
    .slpx-variation-group-selectbox .bootstrap-select .filter-option-inner-inner .d-flex {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
}
/* Holsterwelt: keep the two footer navigation groups side by side on phones.
   Select the navigation columns structurally; contact/newsletter stay full width. */
@media (max-width: 767.98px) {
    #footer-boxes > .col:has(> .box > .nav-panel) {
        flex: 0 0 50%;
        max-width: 50%;
        min-width: 0;
        padding-left: 12px;
        padding-right: 12px;
    }
    #footer-boxes > .col:has(> .box > .nav-panel) .productlist-filter-headline {
        font-size: clamp(0.8rem, 3.5vw, 1rem);
        overflow-wrap: anywhere;
    }
    #footer-boxes > .col:has(> .box > .nav-panel) .nav-link {
        white-space: normal;
        overflow-wrap: anywhere;
        hyphens: auto;
    }
}
/* Product reviews: native accessible disclosure, separate from vendor templates. */
.hw-reviews-disclosure > .hw-reviews-toggle { margin: 1rem 0; cursor: pointer; white-space: normal; }
.hw-reviews-disclosure > .hw-reviews-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.hw-reviews-content { padding-top: .5rem; }
/* Preserve the official graphic; override only the OPC 220px thumbnail size. */
#opc-root > .hw-warranty-readable {
    width: calc(100% - 32px);
    max-width: 665px;
    margin: 24px auto;
    padding: 0;
}
#opc-root > .hw-warranty-readable a,
#opc-root > .hw-warranty-readable img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}
/* Centre only the standalone official warranty graphic, preserving its artwork. */
#content img[src*="/media/image/warranty/warranty_"],
.content img[src*="/media/image/warranty/warranty_"],
#content-wrapper img[src*="/media/image/warranty/warranty_"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
/* Native compact address mode; keep search available after opening real fields. */
#opc-root.hw-browser-autofill .opc-addr-search.opc-addr-hidden {
    display: block !important;
}
#opc-root.hw-browser-autofill .opc-addr-search { order: -1; }
/* Checkout clarity: native prices and controls remain authoritative. */
#opc-root .hw-delivery-overview{border:1px solid #d9d1c1;border-radius:10px;background:#faf8f3;padding:14px 16px;margin:0 0 16px;color:#252525;overflow-wrap:anywhere}
#opc-root .hw-delivery-overview p{margin:6px 0 0;font-size:14px;line-height:1.45}
#opc-root .hw-delivery-overview p:empty{display:none}
#opc-root .hw-checkout-intro{font-size:15px;font-weight:600;margin:0 0 14px}
#opc-root .hw-address-help,#opc-root .hw-transit-help{font-size:13px;line-height:1.45;color:#505050;margin:0 0 12px}
