/* ==========================================================

 * DGM PRODUCT ARCHIVE – CATEGORY NAVIGATION

 * ========================================================== */



.dgm-archive-category-nav {

    width: 100%;

}



.dgm-archive-category-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 24px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.dgm-archive-category-card {

    min-width: 0;

    margin: 0;

}



.dgm-archive-category-card__link {

    display: flex;

    flex-direction: column;

    height: 100%;

    overflow: hidden;



    background: #ffffff;

    border: 1px solid #e5e7eb;

    border-radius: 14px;



    color: #2b2b2b;

    text-decoration: none;



    transition:

        border-color 0.2s ease,

        box-shadow 0.2s ease;

}



.dgm-archive-category-card__link:hover,

.dgm-archive-category-card__link:focus-visible {

    border-color: #f26522;

    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.10);

}



.dgm-archive-category-card__link:focus-visible {

    outline: 2px solid #f26522;

    outline-offset: 3px;

}



.dgm-archive-category-card__media {

    position: relative;

    display: block;

    width: 100%;

    aspect-ratio: 6 / 5;

    overflow: hidden;

    background: #f6f7f8;

}



.dgm-archive-category-card__media > img.dgm-archive-category-card__image {

    position: absolute;

    inset: 0;



    display: block;

    width: 100%;

    height: 100% !important;

    max-width: none;



    object-fit: cover;

    object-position: center;

}



.dgm-archive-category-card__body {

    display: flex;

    flex-direction: column;

    flex: 1;

    gap: 12px;



    padding: 18px;

}



.dgm-archive-category-card__title {

    display: block;



    color: #2b2b2b;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.3;

}




/* ==========================================================

 * RESPONSIVE

 * ========================================================== */



@media (max-width: 1199px) {

    .dgm-archive-category-grid {

        grid-template-columns: repeat(3, minmax(0, 1fr));

    }

}



@media (max-width: 1024px) {

    .dgm-archive-category-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }

}



@media (max-width: 767px) {

    .dgm-archive-category-grid {

        grid-template-columns: 1fr;

        gap: 16px;

    }



    .dgm-archive-category-card__body {

        padding: 16px;

    }



    .dgm-archive-category-card__title {

        font-size: 17px;

        line-height: 1.3;

        hyphens: auto;

        -webkit-hyphens: auto;



         overflow-wrap: anywhere;

         word-break: normal;

    }

}



/* ==========================================================

 * DGM PRODUCT ARCHIVE – FILTER

 * ========================================================== */



.dgm-archive-filters {

    min-width: 0;

}



.dgm-archive-filters__title {

    margin: 0;

}



.dgm-archive-filters__dynamic {

    width: 100%;
        padding: 24px 0 0 0 ;

}



.dgm-archive-filter-form {

    display: flex;

    flex-direction: column;

    gap: 0;



    width: 100%;



    background: #ffffff;

    border: 1px solid #e5e7eb;

    border-radius: 14px;

    overflow: hidden;

}



.dgm-archive-filter-group {

    min-width: 0;

    margin: 0;

    padding: 20px;



    border: 0;

    border-bottom: 1px solid #e5e7eb;

}



.dgm-archive-filter-group__title {

    width: 100%;

    margin: 0 0 14px;

    padding: 12px 0 0 0;



    color: #2b2b2b;

    font-size: 16px;

    font-weight: 700;

    line-height: 1.35;

}



.dgm-archive-filter-options {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.dgm-archive-filter-option {

    display: flex;

    align-items: flex-start;

    gap: 10px;



    margin: 0;



    color: #2b2b2b;

    font-size: 14px;

    line-height: 1.45;



    cursor: pointer;

}



.dgm-archive-filter-option input[type="checkbox"] {

    flex: 0 0 auto;



    width: 17px;

    height: 17px;

    margin: 2px 0 0;



    accent-color: #f26522;

}


.dgm-archive-filter-actions {

    display: flex;

    flex-direction: column;

    gap: 10px;



    padding: 20px;

}



.dgm-archive-filter-reset {

    display: inline-flex;

    justify-content: center;

    align-items: center;



    min-height: 40px;



    color: #6b7280;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

}



.dgm-archive-filter-reset:hover,

.dgm-archive-filter-reset:focus-visible {

    color: #f26522;

}





/* ==========================================================

 * FILTER – RESPONSIVE

 * ========================================================== */



@media (max-width: 1024px) {

    .dgm-archive-filter-group {

        padding: 18px;

    }



    .dgm-archive-filter-actions {

        padding: 18px;

    }

}



@media (max-width: 767px) {

    .dgm-archive-filter-form {

        border-radius: 12px;

    }

}



/* ==========================================================

   DGM PREIS-SLIDER

   ========================================================== */



.dgm-archive-price-slider {

  display: flex;

  flex-direction: column;

  gap: 14px;

}



.dgm-archive-price-slider__values {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 10px;



  font-size: 15px;

  line-height: 1.3;

  color: #1f2937;

}



.dgm-archive-price-slider__value {

  display: inline-flex;

  align-items: baseline;

  gap: 4px;



  font-weight: 700;

  color: #111827;

}



.dgm-archive-price-slider__currency {

  color: #6b7280;

  font-weight: 600;

}



.dgm-archive-price-slider__separator {

  color: #9ca3af;

  font-weight: 600;

}



.dgm-archive-price-slider__control {

  position: relative;

  height: 32px;

}



.dgm-archive-price-slider__track,

.dgm-archive-price-slider__range {

  position: absolute;

  top: 50%;

  left: 0;

  right: 0;



  height: 6px;

  border-radius: 999px;



  transform: translateY(-50%);

}



.dgm-archive-price-slider__track {

  background: #e5e7eb;

}



.dgm-archive-price-slider__range {

  background: #f26522;

}



.dgm-archive-price-slider__input {

  -webkit-appearance: none;

  appearance: none;



  position: absolute;

  top: 50%;

  left: 0;



  width: 100%;

  height: 32px;

  margin: 0;

  padding: 0;



  transform: translateY(-50%);



  background: transparent;

  pointer-events: none;

}



.dgm-archive-price-slider__input::-webkit-slider-runnable-track {

  height: 6px;

  background: transparent;

  border: 0;

}



.dgm-archive-price-slider__input::-moz-range-track {

  height: 6px;

  background: transparent;

  border: 0;

}



.dgm-archive-price-slider__input::-webkit-slider-thumb {

  -webkit-appearance: none;

  appearance: none;



  width: 18px;

  height: 18px;

  margin-top: -6px;



  border: 2px solid #f26522;

  border-radius: 50%;

  background: #ffffff;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);



  cursor: pointer;

  pointer-events: auto;

}



.dgm-archive-price-slider__input::-moz-range-thumb {

  width: 18px;

  height: 18px;



  border: 2px solid #f26522;

  border-radius: 50%;

  background: #ffffff;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);



  cursor: pointer;

  pointer-events: auto;

}



.dgm-archive-price-slider__input:focus {

  outline: none;

}



.dgm-archive-price-slider__input:focus::-webkit-slider-thumb {

  box-shadow:

    0 0 0 4px rgba(242, 101, 34, 0.18),

    0 2px 8px rgba(0, 0, 0, 0.12);

}



.dgm-archive-price-slider__input:focus::-moz-range-thumb {

  box-shadow:

    0 0 0 4px rgba(242, 101, 34, 0.18),

    0 2px 8px rgba(0, 0, 0, 0.12);

}



@media (max-width: 767px) {

  .dgm-archive-price-slider__values {

    font-size: 14px;

  }



  .dgm-archive-price-slider__control {

    height: 30px;

  }



  .dgm-archive-price-slider__input::-webkit-slider-thumb {

    width: 16px;

    height: 16px;

    margin-top: -5px;

  }



  .dgm-archive-price-slider__input::-moz-range-thumb {

    width: 16px;

    height: 16px;

  }

}



/* ==========================================================

 * MOBILE FILTER TOGGLE

 * ========================================================== */



.dgm-archive-filter-toggle {

    display: none;

}



@media (max-width: 1024px) {



    .dgm-archive-filter-toggle {

        display: flex;

        align-items: center;

        justify-content: space-between;



        width: 100%;

        min-height: 46px;



        padding: 12px 16px;

        margin: 0 0 12px;



        border: 1px solid #e5e7eb;

        border-radius: 10px;



        background: #ffffff;

        color: #2b2b2b;



        font-size: 15px;

        font-weight: 700;



        cursor: pointer;

    }



    .dgm-archive-filter-toggle__icon {

        display: inline-flex;

        align-items: center;

        justify-content: center;



        width: 24px;

        height: 24px;



        color: #f26522;



        font-size: 22px;

        line-height: 1;

    }



    .dgm-archive-filter-form {

        display: none;

    }



    .dgm-archive-filter-form.is-open {

        display: flex;

    }

}



/* ==========================================================

 * DGM ARCHIVE – MOBILE FLOW + HOVER FIX

 * ========================================================== */



/* DGM-Farbe für alle Links/Hover innerhalb der Archiv-Kategorien */

.dgm-archive-category-card__link,

.dgm-archive-category-card__link:visited {

    color: var(--dgm-color-text-strong);

}



.dgm-archive-category-card__link:hover,
.dgm-archive-category-card__link:focus-visible,
.dgm-archive-category-card__link:hover .dgm-archive-category-card__title,
.dgm-archive-category-card__link:focus-visible .dgm-archive-category-card__title {
    color: var(--dgm-color-primary) !important;
}





/* Mobile: Kategorie-Karten sicher im normalen Seitenfluss halten */

@media (max-width: 767px) {



    .dgm-archive-categories,

    .dgm-archive-category-nav,

    .dgm-archive-category-grid,

    .dgm-archive-category-card,

    .dgm-archive-category-card__link {

        position: relative !important;

        float: none !important;

        clear: both;

    }



    .dgm-archive-category-grid {

        display: grid !important;

        grid-template-columns: minmax(0, 1fr) !important;

        gap: 16px !important;



        width: 100% !important;

    }



    .dgm-archive-category-card {

        display: block !important;



        width: 100% !important;

        height: auto !important;

        min-height: 0 !important;

    }



    .dgm-archive-category-card__link {

        display: flex !important;

        flex-direction: column !important;



        width: 100% !important;

        height: auto !important;

    }



    .dgm-archive-category-card__media {

        position: relative !important;



        display: block !important;



        width: 100% !important;

        height: auto !important;

        aspect-ratio: 6 / 5;



        overflow: hidden !important;

    }



    .dgm-archive-category-card__media > img.dgm-archive-category-card__image {

        position: absolute !important;

        inset: 0 !important;



        width: 100% !important;

        height: 100% !important;



        object-fit: cover !important;

    }



    .dgm-archive-category-card__body {

        position: relative !important;



        display: flex !important;

        flex-direction: column !important;



        width: 100% !important;

        height: auto !important;

    }



    /* Nach den Kategorien muss der nächste Archivbereich normal folgen */

    .dgm-archive-content {

        position: relative !important;

        clear: both;



        width: 100% !important;

    }

}



/* ==========================================================

 * DGM MOBILE FILTER TOGGLE – DESIGN TOKENS

 * ========================================================== */



.dgm-archive-filter-toggle {

    border-color: var(--dgm-color-border-light) !important;

    background: var(--dgm-color-bg-white) !important;

    color: var(--dgm-color-text-strong) !important;

}



.dgm-archive-filter-toggle__icon {

    color: var(--dgm-color-primary) !important;

}



.dgm-archive-filter-toggle:hover,

.dgm-archive-filter-toggle:focus-visible {

    border-color: var(--dgm-color-primary) !important;

    background: var(--dgm-color-primary-light) !important;

    color: var(--dgm-color-text-strong) !important;

}



.dgm-archive-filter-toggle:hover .dgm-archive-filter-toggle__icon,

.dgm-archive-filter-toggle:focus-visible .dgm-archive-filter-toggle__icon {

    color: var(--dgm-color-primary) !important;

}

/* ==========================================================

 * DGM ARCHIVE – TABLET FLOW FIX

 * ========================================================== */



@media (max-width: 1024px) {



    .dgm-archive-categories,

    .dgm-archive-category-nav,

    .dgm-archive-category-grid,

    .dgm-archive-category-card,

    .dgm-archive-category-card__link {

        position: relative !important;

        float: none !important;

    }



    .dgm-archive-categories,

    .dgm-archive-category-nav,

    .dgm-archive-category-grid {

        width: 100% !important;

        height: auto !important;

    }



    .dgm-archive-category-grid {

        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        align-items: stretch !important;

        gap: 16px !important;

    }



    .dgm-archive-category-card {

        width: 100% !important;

        height: auto !important;

        min-height: 0 !important;

    }



    .dgm-archive-category-card__link {

        display: flex !important;

        flex-direction: column !important;

        width: 100% !important;

        height: 100% !important;

    }



    .dgm-archive-category-card__media {

        position: relative !important;

        width: 100% !important;

        height: auto !important;

        aspect-ratio: 6 / 5;

    }



    .dgm-archive-content {

        position: relative !important;

        clear: both;

        width: 100% !important;

    }

}
/* ==========================================================
 * DGM PRODUCT ARCHIVE – PAGINATION
 * ========================================================== */

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 32px;
}

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 40px;
    height: 40px;
    padding: 0 12px;

    border: 1px solid #e5e7eb;
    border-radius: 10px;

    background: #ffffff;
    color: #2b2b2b;

    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease;
}

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination a.page-numbers:hover {
    border-color: #f26522;
    background: #fff5ef;
    color: #f26522;
}
:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .page-numbers.current {
    border-color: #f26522;
    background: #f26522;
    color: #ffffff;
}

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .prev,
:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .next {
    padding-left: 16px;
    padding-right: 16px;
}


/* Mobile */
@media (max-width: 767px) {

    :is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination {
        gap: 6px;
        margin-top: 24px;
    }

    :is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .page-numbers {
        min-width: 36px;
        height: 36px;
        padding: 0 10px;
        font-size: 13px;
        border-radius: 9px;
    }

}

/* DGM Pagination – Voriger/Nächster als Pfeile */

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .prev,
:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .next {
    font-size: 0;
    width: 40px;
    padding: 0;
}

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .prev::before {
    content: "‹";
    font-size: 22px;
    line-height: 1;
}

:is(.dgm-archive-products, .dgm-search-results, .dgm-brand-archive) .elementor-pagination .next::before {
    content: "›";
    font-size: 22px;
    line-height: 1;
}

/* ==========================================================
 * DGM SUCHE – LEERZUSTAND
 * ========================================================== */

.dgm-search-empty-state {
    width: 100%;
}

.dgm-search-empty {
    width: 100%;
    max-width: 820px;

    margin: 40px auto 64px;
    padding: 48px;

    text-align: center;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;

    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

.dgm-search-empty__icon {
    margin-bottom: 18px;

    font-size: 26px;
    line-height: 1;
}

.dgm-search-empty__title {
    margin: 0 0 14px;

    color: #2b2b2b;

    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
}

.dgm-search-empty__text {
    max-width: 650px;

    margin: 0 auto 28px;

    color: #5f6368;

    font-size: 16px;
    line-height: 1.7;
}

.dgm-search-empty__text strong {
    color: #2b2b2b;
    font-weight: 700;
}

.dgm-search-empty__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 24px;

    background: #f26522;
    border: 1px solid #f26522;
    border-radius: 10px;

    color: #ffffff !important;

    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.dgm-search-empty__button:hover {
    background: #2b2b2b;
    border-color: #2b2b2b;
    color: #ffffff !important;

    transform: translateY(-1px);
}


/* Mobil */
@media (max-width: 767px) {

    .dgm-search-empty {
        margin: 24px auto 40px;
        padding: 32px 20px;

        border-radius: 14px;
    }

    .dgm-search-empty__title {
        font-size: 23px;
    }

    .dgm-search-empty__text {
        font-size: 15px;
        line-height: 1.6;
    }

    .dgm-search-empty__button {
        width: 100%;
    }

}