/* ==========================================================================
   Layout & Grid (Masonry)
   ========================================================================== */
#gw-works-app {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    margin: 0;
    padding: 0 40px;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

/* ==========================================================================
   Filter & Suche
   - ersetzt das alte Elementor Custom CSS
   - Werktitel und Volltextsuche sind gleich gestylt
   - Jahr-Dropdown wurde durch Verfügbarkeit ersetzt
   ========================================================================== */
#gw-works-app .gw-filter-bar {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 15px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 20px !important;
}

/* Desktop: filter-body füllt die filter-bar als Flex-Row */
#gw-works-app .gw-filter-body {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 15px !important;
    width: 100% !important;
    min-width: 0 !important;
}

#gw-works-app .gw-search-wrapper {
    flex: 2 1 0 !important;
    min-width: 0 !important;
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
}

#gw-works-app .gw-search-wrapper .gw-search-field,
#gw-works-app #gw-title-search,
#gw-works-app #gw-search {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 40px 0 15px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    background-image: url("../icons/glass.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 24px auto !important;
    color: #333333 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 50px !important;
    border-radius: 0 !important;
    border: 1px solid #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    vertical-align: middle !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

#gw-works-app .gw-search-wrapper .gw-search-field::placeholder,
#gw-works-app #gw-title-search::placeholder,
#gw-works-app #gw-search::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

#gw-works-app .gw-search-wrapper .gw-search-field:focus,
#gw-works-app #gw-title-search:focus,
#gw-works-app #gw-search:focus,
#gw-works-app .gw-selects select.gw-ajax-filter:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #ffffff !important;
}

#gw-works-app .gw-selects {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    flex: auto !important;
    min-width: 0 !important;
}

#gw-works-app .gw-selects select.gw-ajax-filter,
#gw-works-app select.gw-ajax-filter,
#gw-works-app .gw-ajax-filter {
    display: block !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 100px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 35px 0 12px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    background-image: url("../icons/caret-down.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 24px auto !important;
    color: #333333 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 50px !important;
    border-radius: 0 !important;
    border: 1px solid #ffffff !important;
    box-shadow: none !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    outline: none !important;
}

#gw-works-app .gw-selects select.gw-ajax-filter option,
#gw-works-app select.gw-ajax-filter option {
    background: #ffffff !important;
    color: #333333 !important;
}

@-moz-document url-prefix() {
    #gw-works-app .gw-ajax-filter {
        text-indent: 0.01px;
        text-overflow: "";
    }
}

.gw-loader {
    display: none;
    text-align: center;
    padding: 40px;
    color: #ffffff;
}

.gw-loader.gw-is-visible {
    display: block;
}

.gw-masonry-grid.gw-is-loading {
    opacity: 0.4;
}

/* 📋 Share Copy Feedback */
.gw-share-copy-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.gw-share-copy-feedback {
    position: absolute;
    left: 100%;
    margin-left: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

#share-copy.is-copied ~ .gw-share-copy-feedback {
    opacity: 1;
}

.gw-share-copy-wrapper #share-copy.is-copied ~ .gw-share-copy-feedback {
    opacity: 1;
}

.gw-masonry-grid {
    position: relative;
    width: 100%;
    min-height: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gw-masonry-grid.gw-is-ready {
    opacity: 1;
}

.gw-work-card {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    background: var(--e-global-color-primary);
    will-change: transform;
    overflow: hidden;
}

.gw-work-inner {
    position: relative;
    display: block;
    line-height: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background: #2f2f2f;
}

.gw-work-inner img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1);
    opacity: 1;
    transform-origin: center center;
    transition: transform 0.5s ease, opacity 0.3s ease;
    will-change: transform, opacity;
    backface-visibility: hidden;
}

/* Hover-Effekt Galerie */
.gw-hover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 15px;
    box-sizing: border-box;
    pointer-events: none;
}

.gw-work-card:hover .gw-hover-overlay {
    opacity: 1;
}

.gw-work-card:hover img {
    transform: scale(1.04);
    opacity: 0.2;
}

.gw-hover-content h3 {
    font-family: "Bricolage Grotesque", sans-serif;
    color: #ffffff !important;
    font-size: 28px !important;
    margin: 0 0 20px 0 !important;
    font-weight: bold !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

.gw-hover-content p {
    color: #fff !important;
    font-size: 14px !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    opacity: 0.9 !important;
    font-family: "Bricolage Grotesque", sans-serif;
    line-height: 1.3em;
}

.gw-no-results {
    color: #ffffff;
}

/* ==========================================================================
   Slider & Lightbox
   ========================================================================== */
#gw-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.gw-lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #333;
    overflow: hidden;
}

#gw-lb-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(5px) brightness(0.8);
    transform: scale(1.1);
}

.gw-lb-nav-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.gw-nav-btn,
.gw-close {
    position: absolute;
    background-color: #ffffff !important;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: all 0.2s ease;
    z-index: 10001;
    padding: 0 !important;
}

.gw-nav-btn::before,
.gw-close::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: var(--e-global-color-primary);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: background-color 0.2s ease;
}

.gw-nav-btn:hover,
.gw-close:hover {
    background-color: var(--e-global-color-accent) !important;
}

.gw-nav-btn:hover::before,
.gw-close:hover::before {
    background-color: #ffffff;
}

#gw-prev-btn {
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
}

#gw-next-btn {
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
}

#gw-prev-btn::before {
    -webkit-mask-image: url("../icons/caret-left.svg");
    mask-image: url("../icons/caret-left.svg");
}

#gw-next-btn::before {
    -webkit-mask-image: url("../icons/caret-right.svg");
    mask-image: url("../icons/caret-right.svg");
}

.gw-close {
    top: 30px;
    right: 30px;
}

.gw-close::before {
    -webkit-mask-image: url("../icons/close.svg");
    mask-image: url("../icons/close.svg");
    width: 24px;
    height: 24px;
}

.gw-lightbox-content {
    position: relative;
    width: 90%;
    max-width: 1100px;
    height: 100vh;
    background: #494747;
    padding: 30px 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.gw-lb-top-bar {
    display: block;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    flex-shrink: 0;
    text-align: center;
}

#gw-lb-counter {
    font-size: 14px;
    color: #fff;
}

.gw-img-wrapper {
    flex-grow: 1;
    display: flex;
    align-items: end;
    justify-content: center;
    margin-bottom: 20px;
    min-height: 0;
    position: relative;
    overflow: hidden;
}

#gw-lb-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease-in-out, opacity 0.3s;
    cursor: none;
}

/* Custom Zoom-Cursor: Kreis in Akzentfarbe mit weißer Lupe (glass.svg) */
#gw-zoom-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--e-global-color-accent, #29abe2);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
    transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1000000;
}

#gw-zoom-cursor.is-visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

#gw-zoom-cursor::before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    -webkit-mask: url('/wp-content/themes/asli-child/assets/glass.svg') center / contain no-repeat;
    mask: url('/wp-content/themes/asli-child/assets/glass.svg') center / contain no-repeat;
}

#gw-lb-img.gw-is-switching {
    transform: translateX(-30px);
    opacity: 0;
}

#gw-lightbox.gw-zoom-mode #gw-lb-img {
    cursor: none;
}

/* Close-Zustand des Custom-Cursors: gleicher Akzent-Kreis, close.svg als Icon */
#gw-zoom-cursor.is-close::before {
    -webkit-mask-image: url('../icons/close.svg');
    mask-image: url('../icons/close.svg');
}

#gw-lb-img.gw-is-zoomed {
    transform: scale(2.2);
}

#gw-lightbox.gw-zoom-mode #gw-lb-img.gw-is-zoomed {
    transition: transform 0.18s ease-out, opacity 0.3s;
}

.gw-lb-info-footer {
    text-align: center;
    flex-shrink: 0;
}

#gw-lb-title {
    font-family: "Bricolage Grotesque", serif;
    font-size: 34px;
    margin: 0 0 20px;
    color: #fff;
    font-weight: 200;
    text-align: left;
}

#gw-toggle-info {
    border: 1px solid var(--e-global-color-accent) !important;
    color: #fff;
    border-radius: 30px;
    padding: 10px 25px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 16px;
    margin-bottom: 20px;
    background: transparent;
}

#gw-toggle-info:hover {
    background: var(--e-global-color-accent);
}

/* ==========================================================================
   Details & Social Share
   ========================================================================== */
.gw-lb-details {
    text-align: left;
}

.gw-lb-flex-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
}

.gw-lb-left-column {
    flex: 1;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.gw-lb-table-side {
    display: none;
    width: 100%;
}

.gw-lb-content-side {
    width: 350px;
    flex-shrink: 0;
    text-align: left;
    margin-left: auto;
    padding-top: 5px;
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
}

.gw-lb-status-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.gw-status-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
}

#gw-lb-status-text {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.gw-lb-status-wrapper.is-available .gw-status-dot {
    background: #34c759;
}

.gw-lb-status-wrapper.is-available #gw-lb-status-text {
    color: #34c759;
}

.gw-lb-status-wrapper.is-sold .gw-status-dot {
    background: #ff3b30;
}

.gw-lb-status-wrapper.is-sold #gw-lb-status-text {
    color: #ff3b30;
}

.gw-lb-status-wrapper.is-outofstock .gw-status-dot {
    background: #ff9500;
}

.gw-lb-status-wrapper.is-outofstock #gw-lb-status-text {
    color: #ff9500;
}

#gw-lb-cta-section {
    display: none;
    margin-bottom: 30px;
}

.gw-lb-cta-label,
.gw-share-label {
    display: block;
    font-weight: bold;
}

.gw-lb-cta-label {
    margin-bottom: 12px;
}

.gw-share-label {
    margin-bottom: 8px;
}

.gw-cta-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.gw-lb-row {
    display: flex;
    padding: 10px 0;
    border-bottom: 1px solid #eaeaea50;
    font-size: 14px;
    color: #fff;
}

.gw-lb-label {
    min-width: 140px;
    font-weight: bold;
    color: #fff;
}

#gw-lb-editor-text p {
    margin: 0;
}

.gw-share {
    display: none;
    margin-top: 10px;
}

.gw-share-buttons {
    display: flex;
    gap: 12px;
}

.gw-cta-btn {
    background: var(--e-global-color-accent);
    border: none !important;
    color: #fff !important;
    font-weight: 600 !important;
    height: 40px !important;
    padding: 8px 20px !important;
    text-transform: uppercase !important;
}

.gw-share-icon {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 1px solid var(--e-global-color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, background-color 0.2s ease;
    text-decoration: none !important;
}

.gw-share-icon:hover {
    background-color: var(--e-global-color-accent);
}

.gw-share-icon.is-copied {
    background-color: var(--e-global-color-accent);
}

.gw-share-icon::before {
    content: "";
    width: 18px;
    height: 18px;
    background-color: #fff;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.wa::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.1 0-65.6-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-5.5-2.8-23.2-8.5-44.2-27.1-16.4-14.6-27.4-32.7-30.6-38.2-3.2-5.6-.3-8.6 2.4-11.3 2.5-2.4 5.5-6.5 8.3-9.7 2.8-3.3 3.7-5.6 5.5-9.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 13.3 5.7 23.6 9.1 31.7 11.7 13.3 4.2 25.4 3.6 35.2 2.1 10.8-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.1 0-65.6-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-5.5-2.8-23.2-8.5-44.2-27.1-16.4-14.6-27.4-32.7-30.6-38.2-3.2-5.6-.3-8.6 2.4-11.3 2.5-2.4 5.5-6.5 8.3-9.7 2.8-3.3 3.7-5.6 5.5-9.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 13.3 5.7 23.6 9.1 31.7 11.7 13.3 4.2 25.4 3.6 35.2 2.1 10.8-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg>');
}

.fb::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg>');
}

.mail::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>');
}

.copy::before {
    -webkit-mask-image: url('../icons/copy.svg');
    mask-image: url('../icons/copy.svg');
}

/* ==========================================================================
   Admin Metabox
   ========================================================================== */
.gw-admin-metabox {
    padding: 10px 0;
}

.gw-admin-field {
    margin-bottom: 12px;
}

.gw-admin-label {
    display: block;
    font-weight: bold;
}

.gw-admin-input {
    width: 100%;
    max-width: 400px;
}

.gw-admin-checks {
    margin-top: 20px;
    border-top: 1px solid #ccc;
    padding-top: 15px;
}

/* ==========================================================================
   Responsive Korrekturen
   ========================================================================== */
/* ==========================================================================
   Filter – Mobile Sticky Button & Bottom Sheet
   ========================================================================== */

/* Active Filter Count Badge – absolut positioniert über Button */
.gw-filter-active-count {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--e-global-color-accent, #4054b2);
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.gw-filter-active-count[hidden] {
    opacity: 0;
    pointer-events: none;
}

/* Overlay */
#gw-filter-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 998;
}

#gw-filter-overlay.is-active {
    display: block;
}

/* Sticky Button & Sheet Header – nur auf Mobile */
#gw-filter-sticky-btn,
#gw-works-app .gw-filter-sheet-header,
#gw-filter-actions {
    display: none;
}

@media (max-width: 1024px) {
    /* Entfernt Transform damit position:fixed korrekt am Viewport hängt */
    #gw-works-app {
        transform: none !important;
        left: 0 !important;
    }

    #gw-works-app .gw-filter-bar {
        margin-bottom: 0 !important;
        min-height: 0 !important;
    }

    /* Bild-Wrapper auf Mobile höher damit Bilder sichtbar sind */
    .gw-img-wrapper {
        min-height: 200px !important;
    }

    /* Bottom Sheet */
    #gw-works-app .gw-filter-body {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        z-index: 999 !important;
        background: #1c1c1c !important;
        border-radius: 0 !important;
        padding: 0 16px 90px !important;
        max-height: 85dvh !important;
        overflow-y: auto !important;
        box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.5) !important;
        transform: translateY(100%) !important;
        transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: auto !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    #gw-works-app .gw-filter-body.is-open {
        transform: translateY(0) !important;
    }

    /* Sheet Header */
    #gw-works-app .gw-filter-sheet-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 18px 0 14px !important;
        position: sticky !important;
        top: 0 !important;
        background: #1c1c1c !important;
        z-index: 1 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
        margin-bottom: 14px !important;
        flex-shrink: 0 !important;
    }

    #gw-works-app .gw-filter-sheet-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        font-family: inherit !important;
    }

    .gw-filter-sheet-close {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        background: rgba(255, 255, 255, 0.15) !important;
        border: none !important;
        border-radius: 50% !important;
        cursor: pointer !important;
        color: #ffffff !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Felder im Sheet */
    #gw-works-app .gw-filter-body .gw-search-wrapper {
        width: 100% !important;
        flex: none !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
    }

    #gw-works-app .gw-filter-body .gw-selects {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        flex: none !important;
    }

    #gw-works-app .gw-filter-body .gw-ajax-filter {
        min-width: 0 !important;
        width: 100% !important;
    }

    /* Filter Actions Container – enthält Reset und FILTER Buttons */
    #gw-filter-actions {
        display: none;
        align-items: center;
        gap: 10px;
        position: fixed !important;
        bottom: 20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 1000 !important;
    }

    #gw-filter-actions.gw-filter-btn-visible {
        display: flex !important;
    }

    /* Sticky Filter-Button – jetzt als Flex-Item in Actions Container */
    #gw-filter-sticky-btn {
        display: flex;
        position: relative;
        align-items: center !important;
        gap: 8px !important;
        background: var(--e-global-color-accent, #4054b2) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 12px 22px !important;
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
        white-space: nowrap !important;
    }

    #gw-filter-sticky-btn:active {
        opacity: 0.88 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    }

    /* Reset Button in Actions Container – weiß mit Rand */
    #gw-filter-actions .gw-filter-sheet-reset {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: transparent !important;
        border: 2px solid #ffffff !important;
        border-radius: 50px !important;
        color: #ffffff !important;
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        padding: 11px 22px !important;
        white-space: nowrap !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
    }

    #gw-filter-actions .gw-filter-sheet-reset:active {
        opacity: 0.85 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    }

    /* Reset Button versteckt wenn keine Filter aktiv oder Sheet geschlossen */
    #gw-filter-actions .gw-filter-sheet-reset--hidden {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .gw-lb-flex-container {
        flex-direction: column;
        gap: 20px;
    }

    .gw-lb-content-side {
        border-left: none;
        padding-left: 0;
        border-top: 0;
        padding-top: 0;
        width: 100%;
        margin-left: 0;
    }

    .gw-lb-table-side {
        width: 100%;
    }
}

@media (max-width: 800px) {
    .gw-nav-btn {
        width: 40px;
        height: 40px;
    }

    #gw-prev-btn {
        left: 4px;
    }

    #gw-next-btn {
        right: 4px;
    }

    .gw-close {
        top: 10px;
        right: 10px;
    }

    .gw-lightbox-content {
        padding: 20px;
        width: 100%;
        height: 100dvh;
    }

    #gw-lb-title {
        font-size: 22px;
    }

    #gw-works-app #gw-title-search,
    #gw-works-app #gw-search,
    #gw-works-app .gw-ajax-filter {
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        line-height: 40px !important;
    }

    .gw-hover-overlay {
        padding: 8px !important;
    }

    .gw-hover-content h3 {
        font-size: 18px !important;
    }
}

@media (max-width: 640px) {
    #gw-works-app {
        padding: 0 16px;
    }

    #gw-works-app .gw-search-wrapper,
    #gw-works-app .gw-selects {
        grid-template-columns: 1fr !important;
    }

    /* Selects gleiche Höhe wie Suchefelder */
    #gw-works-app .gw-selects select.gw-ajax-filter,
    #gw-works-app select.gw-ajax-filter {
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        line-height: 40px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}
