.hs365-mobile-shop-tools { display: none; }

/* Desktop und Laptop: Botiga-Sortierung vollständig anzeigen und sauber ausrichten */
@media (min-width: 1025px) {
    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper > .row {
        align-items: center !important;
    }

    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .botiga-sorting-left,
    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .botiga-sorting-right {
        display: flex !important;
        align-items: center !important;
    }

    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .botiga-sorting-right {
        justify-content: flex-end !important;
    }

    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .botiga-sorting-right-inner {
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
    }

    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .woocommerce-result-count,
    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .woocommerce-ordering {
        margin: 0 !important;
    }

    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .woocommerce-ordering select {
        display: block !important;
        width: 380px !important;
        min-width: 380px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-right: 38px !important;
        text-align: right !important;
        text-align-last: right !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
    }

    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper .woocommerce-ordering select option {
        text-align: left;
    }
}


@media (max-width: 1024px) {
    .hs365-mobile-filter-enabled .woocommerce-sorting-wrapper {
        display: none !important;
    }

    .hs365-mobile-shop-tools {
        display: block;
        width: 100%;
        margin: 0 0 28px;
    }

    .hs365-mobile-toolbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        width: 100%;
        padding: 6px 0 18px;
        border-bottom: 1px solid rgba(37, 25, 24, .14);
    }

    .hs365-product-count {
        font-size: 16px;
        line-height: 1.35;
        color: #251918;
    }

    .hs365-open-filter {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        min-height: 44px;
        margin: 0;
        padding: 4px 0 4px 8px;
        border: 0;
        background: transparent;
        color: #251918;
        font: inherit;
        font-size: 16px;
        cursor: pointer;
        white-space: nowrap;
    }

    .hs365-filter-label-short {
        display: none;
    }

    .hs365-filter-icon {
        position: relative;
        display: inline-flex;
        flex-direction: column;
        justify-content: space-between;
        width: 25px;
        height: 19px;
    }

    .hs365-filter-icon i {
        position: relative;
        display: block;
        width: 25px;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
    }

    .hs365-filter-icon i:nth-child(1)::after,
    .hs365-filter-icon i:nth-child(2)::after,
    .hs365-filter-icon i:nth-child(3)::after {
        content: '';
        position: absolute;
        top: 50%;
        width: 6px;
        height: 6px;
        border: 2px solid currentColor;
        border-radius: 50%;
        background: #fff;
        transform: translateY(-50%);
    }

    .hs365-filter-icon i:nth-child(1)::after { left: 5px; }
    .hs365-filter-icon i:nth-child(2)::after { right: 4px; }
    .hs365-filter-icon i:nth-child(3)::after { left: 9px; }

    .hs365-filter-overlay {
        position: fixed;
        z-index: 999997;
        inset: 0;
        background: rgba(0, 0, 0, .42);
        opacity: 0;
        transition: opacity .22s ease;
    }

    .hs365-filter-overlay.is-visible { opacity: 1; }

    .hs365-filter-panel {
        position: fixed;
        z-index: 999998;
        inset: 0;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: 76px 14px 14px;
        pointer-events: none;
    }

    .hs365-filter-panel.is-visible { pointer-events: auto; }

    .hs365-panel-card {
        display: flex;
        flex-direction: column;
        width: min(760px, 100%);
        max-height: calc(100dvh - 90px);
        padding: 26px 30px 22px;
        overflow: auto;
        border-radius: 2px;
        background: #fff;
        box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
        transform: translateY(26px);
        opacity: 0;
        transition: transform .22s ease, opacity .22s ease;
        overscroll-behavior: contain;
    }

    .hs365-filter-panel.is-visible .hs365-panel-card {
        transform: translateY(0);
        opacity: 1;
    }

    .hs365-close-filter {
        position: absolute;
        top: 20px;
        left: 50%;
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        padding: 0 0 5px;
        border: 0;
        border-radius: 50%;
        background: #fff;
        color: #111;
        font: 300 48px/1 Arial, sans-serif;
        transform: translateX(-50%);
        cursor: pointer;
        pointer-events: auto;
    }

    .hs365-panel-card h2 {
        margin: 0 0 12px;
        font-size: 23px;
        font-weight: 600;
        color: #251918;
    }

    .hs365-accordion {
        border-bottom: 1px solid rgba(37, 25, 24, .16);
    }

    .hs365-accordion-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 72px;
        padding: 0;
        border: 0;
        background: #fff;
        color: #251918;
        font: inherit;
        font-size: 20px;
        text-align: left;
        cursor: pointer;
    }

    .hs365-chevron {
        width: 12px;
        height: 12px;
        margin-right: 7px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg) translateY(-3px);
        transition: transform .18s ease;
    }

    .hs365-accordion.is-open .hs365-chevron {
        transform: rotate(225deg) translate(-2px, -2px);
    }

    .hs365-accordion-content {
        padding: 0 0 20px;
    }

    .hs365-filter-option {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        min-height: 48px;
        margin: 0;
        padding-left: calc(var(--hs365-depth, 0) * 18px);
        cursor: pointer;
    }

    .hs365-filter-option input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }

    .hs365-checkmark {
        display: block;
        width: 24px;
        height: 24px;
        border: 1px solid #c8c8c8;
        border-radius: 3px;
        background: #eee;
        box-sizing: border-box;
    }

    .hs365-filter-option input:checked + .hs365-checkmark {
        border: 6px solid #111;
        background: #fff;
    }

    .hs365-filter-option input:focus-visible + .hs365-checkmark {
        outline: 2px solid #251918;
        outline-offset: 3px;
    }

    .hs365-option-label {
        min-width: 0;
        font-size: 17px;
        line-height: 1.3;
    }

    .hs365-option-count {
        color: #776968;
        font-size: 14px;
    }

    .hs365-price-fields {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        padding-top: 5px;
    }

    .hs365-price-fields label > span:first-child {
        display: block;
        margin-bottom: 7px;
        font-size: 15px;
    }

    .hs365-price-input {
        display: flex;
        align-items: center;
        border: 1px solid #cfc9c8;
        background: #fff;
    }

    .hs365-price-input input {
        width: 100%;
        min-width: 0;
        height: 48px;
        padding: 8px 4px 8px 12px;
        border: 0 !important;
        outline: 0;
        background: transparent;
        font: inherit;
        appearance: textfield;
    }

    .hs365-price-input b {
        padding: 0 12px 0 5px;
        font-weight: 400;
    }

    .hs365-panel-actions {
        position: sticky;
        bottom: -22px;
        display: grid;
        gap: 10px;
        margin-top: auto;
        padding: 20px 0 22px;
        background: #fff;
    }

    .hs365-apply-filter {
        width: 100%;
        min-height: 56px;
        padding: 12px 20px;
        border: 0;
        border-radius: 999px;
        background: #251918;
        color: #fff;
        font: inherit;
        font-size: 18px;
        cursor: pointer;
    }

    .hs365-reset-filter {
        justify-self: center;
        padding: 5px;
        border: 0;
        border-bottom: 1px solid currentColor;
        background: transparent;
        color: #6f605f;
        font: inherit;
        font-size: 14px;
        cursor: pointer;
    }

    html.hs365-filter-open,
    html.hs365-filter-open body {
        overflow: hidden !important;
    }
}

@media (max-width: 480px) {
    .hs365-mobile-shop-tools {
        margin-bottom: 22px;
    }

    .hs365-mobile-toolbar {
        align-items: center;
        gap: 8px;
        padding-bottom: 14px;
    }

    .hs365-product-count {
        flex: 0 0 auto;
        font-size: 15px;
        white-space: nowrap;
    }

    .hs365-open-filter {
        flex: 0 0 auto;
        gap: 8px;
        min-width: 0;
        padding-left: 4px;
        font-size: 15px;
        white-space: nowrap;
    }

    .hs365-filter-label-full {
        display: none;
    }

    .hs365-filter-label-short {
        display: inline;
    }

    .hs365-filter-icon {
        width: 22px;
        height: 17px;
    }

    .hs365-filter-icon i {
        width: 22px;
    }

    .hs365-filter-panel {
        padding: 68px 0 0;
    }

    .hs365-panel-card {
        width: 100%;
        max-height: calc(100dvh - 68px);
        min-height: calc(100dvh - 68px);
        padding: 22px 22px 18px;
        border-radius: 0;
    }

    .hs365-close-filter {
        top: 10px;
        width: 50px;
        height: 50px;
        font-size: 41px;
    }

    .hs365-panel-card h2 { font-size: 21px; }
    .hs365-accordion-trigger { min-height: 64px; font-size: 18px; }
    .hs365-option-label { font-size: 16px; }
    .hs365-price-fields { grid-template-columns: 1fr; }
}
