.te-pe-product-module{
    --te-pe-module-accent:#8b4a5a;
    --te-pe-module-accent-dark:#6f3947;
    --te-pe-module-text:#2c2a29;
    --te-pe-module-muted:#6b6560;
    --te-pe-module-line:#e5ded8;
    --te-pe-module-soft:#faf8f5;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    max-width:none;
    margin:0;
    padding:clamp(54px,5.2vw,78px) clamp(24px,3.5vw,56px);
    box-sizing:border-box;
    color:var(--te-pe-module-text);
}
.te-pe-product-module--bg-white{background:#fff}
.te-pe-product-module--bg-soft{background:var(--te-pe-module-soft)}
.te-pe-product-module--bg-transparent{background:transparent}
.te-pe-product-module *{box-sizing:border-box}
.te-pe-product-module__inner{
    width:100%;
    max-width:1360px;
    margin:0 auto;
}
.te-pe-product-module__head{
    max-width:850px;
    margin:0 auto clamp(24px,2.6vw,34px);
    text-align:center;
}
.te-pe-product-module__kicker{
    display:block;
    margin-bottom:12px;
    color:var(--te-pe-module-accent);
    font-family:Manrope,sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:.21em;
}
.te-pe-product-module__heading{
    margin:0 0 14px!important;
    color:var(--te-pe-module-text);
    font-family:"Playfair Display",serif;
    font-size:clamp(34px,3vw,44px)!important;
    font-weight:700;
    line-height:1.14!important;
}
.te-pe-product-module__intro{
    max-width:760px;
    margin:0 auto!important;
    color:var(--te-pe-module-muted);
    font-family:Manrope,sans-serif;
    font-size:15.5px;
    line-height:1.7;
}
.te-pe-product-grid{
    display:grid;
    gap:15px;
    align-items:stretch;
}
.te-pe-product-grid--cols-1{grid-template-columns:minmax(0,300px)}
.te-pe-product-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.te-pe-product-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.te-pe-product-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.te-pe-product-grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.te-pe-product-grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.te-pe-product-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    overflow:hidden;
    border:1px solid var(--te-pe-module-line);
    border-radius:6px;
    background:#fff;
    box-shadow:0 6px 20px rgba(44,42,41,.035);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
@media(hover:hover) and (pointer:fine){
    .te-pe-product-card:hover{
        transform:translateY(-2px);
        border-color:rgba(139,74,90,.32);
        box-shadow:0 10px 26px rgba(44,42,41,.055);
    }
}
.te-pe-product-card__image-link{display:block;color:inherit;text-decoration:none!important}
.te-pe-product-card__image{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:1.5/1;
    overflow:hidden;
    padding:6px;
    background:var(--te-pe-module-soft);
}
.te-pe-product-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    transition:transform .2s ease;
}
.te-pe-product-card:hover .te-pe-product-card__image img{transform:scale(1.018)}
.te-pe-product-card__placeholder{color:var(--te-pe-module-muted);font-size:.82rem}
.te-pe-product-card__sale{
    position:absolute;
    top:9px;
    right:9px;
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:4px 8px;
    border-radius:999px;
    background:var(--te-pe-module-accent);
    color:#fff;
    font-family:Manrope,sans-serif;
    font-weight:700;
    font-size:.7rem;
}
.te-pe-product-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:12px 12px 13px;
    font-family:Manrope,sans-serif;
}
.te-pe-product-card__brand{
    min-height:1.15em;
    margin-bottom:4px;
    overflow:hidden;
    color:var(--te-pe-module-accent);
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.085em;
    line-height:1.15;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}
.te-pe-product-card__title{
    display:-webkit-box;
    min-height:2.55em;
    max-height:2.55em;
    margin:0 0 4px!important;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:var(--te-pe-module-text);
    font-family:"Playfair Display",serif;
    font-size:.91rem!important;
    font-weight:600;
    line-height:1.28!important;
}
.te-pe-product-card__title a{color:var(--te-pe-module-text)!important;text-decoration:none!important}
.te-pe-product-card__title a:hover{color:var(--te-pe-module-accent-dark)!important}
.te-pe-product-card__category{
    min-height:1.25em;
    margin-bottom:6px;
    overflow:hidden;
    color:var(--te-pe-module-muted);
    font-size:.72rem;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.te-pe-product-card__price-line{
    display:flex;
    min-height:36px;
    flex-direction:column;
    justify-content:flex-end;
    gap:1px;
    margin-top:auto;
}
.te-pe-product-card__old-price{
    min-height:1.1em;
    color:var(--te-pe-module-muted);
    font-size:.72rem;
    line-height:1.1;
    text-decoration:line-through;
}
.te-pe-product-card__old-price.is-empty{visibility:hidden;text-decoration:none}
.te-pe-product-card__price{
    color:var(--te-pe-module-text);
    font-size:1rem;
    line-height:1.15;
}
.te-pe-product-card__availability{
    min-height:1.2em;
    margin-top:4px;
    color:#2f6d46;
    font-size:.7rem;
    font-weight:600;
    line-height:1.2;
}
.te-pe-product-card__link{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:4px;
    margin-top:8px;
    padding:6px 9px;
    border:1px solid var(--te-pe-module-accent);
    border-radius:4px;
    color:var(--te-pe-module-accent)!important;
    background:#fff;
    font-size:.67rem;
    font-weight:700;
    line-height:1;
    text-decoration:none!important;
    white-space:nowrap;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.te-pe-product-card__link:hover{
    color:#fff!important;
    background:var(--te-pe-module-accent);
    border-color:var(--te-pe-module-accent);
}
.te-pe-product-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:28px;
}
.te-pe-product-pagination__button{
    min-width:34px;
    min-height:34px;
    padding:5px 9px;
    border:1px solid var(--te-pe-module-line);
    border-radius:4px;
    color:var(--te-pe-module-text);
    background:#fff;
    font-family:Manrope,sans-serif;
    font-size:.78rem;
    font-weight:600;
    cursor:pointer;
}
.te-pe-product-pagination__button:hover:not(:disabled),
.te-pe-product-pagination__button.is-current{
    border-color:var(--te-pe-module-accent);
    color:#fff;
    background:var(--te-pe-module-accent);
}
.te-pe-product-pagination__button:disabled{opacity:.35;cursor:default}
.te-pe-product-pagination__dots{padding:0 2px;color:var(--te-pe-module-muted)}
.te-pe-product-module.is-loading .te-pe-product-module__dynamic{opacity:.5;pointer-events:none}
.te-pe-product-module__dynamic{transition:opacity .15s ease}
.te-pe-product-module__error{
    margin-top:16px;
    padding:10px 12px;
    border-left:3px solid #b32d2e;
    background:#fff5f5;
    color:#7a2424;
    font-size:.82rem;
}
.te-pe-product-module--empty{
    padding:18px 20px;
    border:1px dashed var(--te-pe-module-line);
    border-radius:6px;
    background:var(--te-pe-module-soft);
    color:var(--te-pe-module-muted);
}
.te-pe-product-module--empty p{margin:0}

/* Editor-Vorschau */
.te-pe-product-module-editor{
    padding:24px;
    border:1px solid #ded7d2;
    border-radius:8px;
    background:#fff;
}
.te-pe-product-module-editor__eyebrow{
    margin-bottom:8px;
    color:#8b4a5a;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
}
.te-pe-product-module-editor h3{margin:0 0 8px}
.te-pe-product-module-editor p{margin:5px 0}
.te-pe-product-module-editor__note{color:#6d6864;font-size:13px}

@media(max-width:1180px){
    .te-pe-product-grid--cols-5,.te-pe-product-grid--cols-6{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
    .te-pe-product-grid--cols-4,.te-pe-product-grid--cols-5,.te-pe-product-grid--cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
    .te-pe-product-module{padding:54px 18px}
    .te-pe-product-module__head{text-align:left}
    .te-pe-product-module__intro{margin-left:0!important}
    .te-pe-product-grid--cols-2,.te-pe-product-grid--cols-3,.te-pe-product-grid--cols-4,.te-pe-product-grid--cols-5,.te-pe-product-grid--cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
    .te-pe-product-grid--cols-2,.te-pe-product-grid--cols-3,.te-pe-product-grid--cols-4,.te-pe-product-grid--cols-5,.te-pe-product-grid--cols-6{grid-template-columns:1fr}
    .te-pe-product-card__image{aspect-ratio:1.55/1}
}
@media(prefers-reduced-motion:reduce){
    .te-pe-product-card,.te-pe-product-card__image img,.te-pe-product-card__link,.te-pe-product-module__dynamic{transition:none}
}

/* V0.9.8: kompakteres Shop-Raster und Related-Produkte auf Einzelproduktseiten. */
.te-pe-product-module--related{
    margin-top:clamp(52px,6vw,82px);
    border-top:1px solid var(--te-pe-module-line);
}
.te-pe-product-module--related .te-pe-product-module__head{
    margin-bottom:28px;
}
.te-pe-product-module--related .te-pe-product-card__category{
    display:none;
}
@media(max-width:720px){
    .te-pe-product-module--related{margin-top:46px}
}

/* =========================================================
   V0.9.9 – kompakteres Browse-Grid
   ========================================================= */
.te-pe-product-module .te-pe-product-card__image{
    aspect-ratio:1.78/1;
    padding:5px;
}
.te-pe-product-module .te-pe-product-card__body{
    padding:10px 11px 11px;
}
.te-pe-product-module .te-pe-product-card__brand{
    margin-bottom:3px;
    font-size:.63rem;
}
.te-pe-product-module .te-pe-product-card__title{
    min-height:2.42em;
    max-height:2.42em;
    margin-bottom:3px!important;
    font-size:.86rem!important;
    line-height:1.21!important;
}
.te-pe-product-module .te-pe-product-card__category{
    min-height:1.15em;
    margin-bottom:4px;
    font-size:.68rem;
}
.te-pe-product-module .te-pe-product-card__price-line{
    min-height:31px;
}
.te-pe-product-module .te-pe-product-card__old-price{
    font-size:.67rem;
}
.te-pe-product-module .te-pe-product-card__price{
    font-size:.94rem;
}
.te-pe-product-module .te-pe-product-card__availability{
    margin-top:3px;
    font-size:.66rem;
}
.te-pe-product-module .te-pe-product-card__link{
    margin-top:6px;
    padding:5px 8px;
    font-size:.64rem;
}

/* =========================================================
   V0.9.9 – Related-Produkte als eigenständiges Karussell
   innerhalb der Produktdetailseite. Kein 100vw-Breakout.
   ========================================================= */
.te-pe-related-carousel{
    --te-pe-related-accent:#8b4a5a;
    --te-pe-related-accent-dark:#6f3947;
    --te-pe-related-text:#2c2a29;
    --te-pe-related-muted:#6b6560;
    --te-pe-related-line:#e5ded8;
    --te-pe-related-soft:#faf8f5;
    width:100%;
    margin-top:clamp(44px,5vw,68px);
    padding-top:30px;
    border-top:1px solid var(--te-pe-related-line);
    color:var(--te-pe-related-text);
}
.te-pe-related-carousel *{box-sizing:border-box}
.te-pe-related-carousel__top{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.te-pe-related-carousel__head{
    min-width:0;
}
.te-pe-related-carousel__kicker{
    display:block;
    margin-bottom:7px;
    color:var(--te-pe-related-accent);
    font-family:Manrope,sans-serif;
    font-size:9px;
    font-weight:700;
    letter-spacing:.19em;
}
.te-pe-related-carousel__heading{
    margin:0!important;
    color:var(--te-pe-related-text);
    font-family:"Playfair Display",serif;
    font-size:clamp(24px,2.2vw,31px)!important;
    font-weight:700;
    line-height:1.16!important;
}
.te-pe-related-carousel__controls{
    display:flex;
    flex:0 0 auto;
    gap:7px;
}
.te-pe-related-carousel__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid var(--te-pe-related-line);
    border-radius:50%;
    color:var(--te-pe-related-accent);
    background:#fff;
    font-family:Arial,sans-serif;
    font-size:17px;
    line-height:1;
    cursor:pointer;
    transition:background-color .16s ease,color .16s ease,border-color .16s ease,opacity .16s ease;
}
.te-pe-related-carousel__arrow:hover:not(:disabled){
    color:#fff;
    background:var(--te-pe-related-accent);
    border-color:var(--te-pe-related-accent);
}
.te-pe-related-carousel__arrow:disabled{
    opacity:.3;
    cursor:default;
}
.te-pe-related-carousel__viewport{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.te-pe-related-carousel__viewport::-webkit-scrollbar{display:none}
.te-pe-related-carousel__viewport:focus-visible{
    outline:2px solid var(--te-pe-related-accent);
    outline-offset:4px;
}
.te-pe-related-carousel__track{
    display:flex;
    gap:12px;
    width:100%;
    min-width:100%;
}
.te-pe-related-carousel__slide{
    flex:0 0 calc((100% - 36px) / 4);
    min-width:0;
    scroll-snap-align:start;
}
.te-pe-related-carousel .te-pe-product-card{
    height:100%;
    min-height:0;
    border-radius:5px;
    box-shadow:none;
}
.te-pe-related-carousel .te-pe-product-card__image{
    aspect-ratio:1.72/1;
    padding:5px;
}
.te-pe-related-carousel .te-pe-product-card__sale{
    top:7px;
    right:7px;
    min-height:22px;
    padding:3px 7px;
    font-size:.63rem;
}
.te-pe-related-carousel .te-pe-product-card__body{
    padding:9px 10px 10px;
}
.te-pe-related-carousel .te-pe-product-card__brand{
    margin-bottom:3px;
    font-size:.6rem;
}
.te-pe-related-carousel .te-pe-product-card__title{
    min-height:2.35em;
    max-height:2.35em;
    margin-bottom:3px!important;
    font-size:.8rem!important;
    line-height:1.18!important;
}
.te-pe-related-carousel .te-pe-product-card__price-line{
    min-height:28px;
}
.te-pe-related-carousel .te-pe-product-card__old-price{
    font-size:.63rem;
}
.te-pe-related-carousel .te-pe-product-card__price{
    font-size:.88rem;
}
.te-pe-related-carousel .te-pe-product-card__availability{
    margin-top:2px;
    font-size:.62rem;
}
.te-pe-related-carousel .te-pe-product-card__link{
    margin-top:5px;
    padding:5px 8px;
    font-size:.62rem;
}
.te-pe-related-carousel__footer{
    margin-top:17px;
    text-align:right;
}
.te-pe-related-carousel__footer a{
    color:var(--te-pe-related-accent)!important;
    font-family:Manrope,sans-serif;
    font-size:.76rem;
    font-weight:700;
    text-decoration:none!important;
}
.te-pe-related-carousel__footer a:hover{
    color:var(--te-pe-related-accent-dark)!important;
    text-decoration:underline!important;
    text-underline-offset:3px;
}

@media(max-width:960px){
    .te-pe-related-carousel__slide{
        flex-basis:calc((100% - 24px) / 3);
    }
}
@media(max-width:700px){
    .te-pe-related-carousel__top{
        align-items:center;
        gap:14px;
    }
    .te-pe-related-carousel__slide{
        flex-basis:calc((100% - 12px) / 2);
    }
}
@media(max-width:480px){
    .te-pe-related-carousel{
        margin-top:40px;
        padding-top:24px;
    }
    .te-pe-related-carousel__top{
        align-items:flex-end;
    }
    .te-pe-related-carousel__heading{
        font-size:23px!important;
    }
    .te-pe-related-carousel__slide{
        flex-basis:100%;
    }
    .te-pe-related-carousel__footer{
        text-align:left;
    }
}
@media(prefers-reduced-motion:reduce){
    .te-pe-related-carousel__viewport{scroll-behavior:auto}
    .te-pe-related-carousel__arrow{transition:none}
}

/* =========================================================
   V0.10.0 – BILD ZUERST
   Produktmodule orientieren sich stärker an einem visuellen
   Katalog: große Produktfläche, wenige Informationen, ruhige
   Typografie. Der redaktionelle Kontext bleibt um das Grid.
   ========================================================= */

/* Themenwelt-/Browse-Karten */
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-grid{
    gap:clamp(18px,1.8vw,25px);
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transform:none;
}
@media(hover:hover) and (pointer:fine){
    .te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card:hover{
        transform:none;
        border-color:transparent;
        box-shadow:none;
    }
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__image-link{
    border-radius:5px;
    overflow:hidden;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__image{
    aspect-ratio:1/1.10;
    padding:0;
    border-radius:5px;
    background:#f6f5f4;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__image img{
    padding:0;
    transform:scale(1);
}
@media(hover:hover) and (pointer:fine){
    .te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card:hover .te-pe-product-card__image img{
        transform:scale(1.025);
    }
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__sale{
    top:10px;
    right:auto;
    left:10px;
    min-height:24px;
    padding:4px 8px;
    border-radius:3px;
    font-size:.66rem;
    letter-spacing:.01em;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__body{
    display:block;
    padding:14px 2px 2px;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__brand{
    min-height:0;
    margin-bottom:5px;
    font-size:.64rem;
    letter-spacing:.12em;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__title{
    min-height:2.5em;
    max-height:2.5em;
    margin:0 0 8px!important;
    font-family:Manrope,sans-serif;
    font-size:.84rem!important;
    font-weight:500;
    line-height:1.25!important;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__category,
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__availability{
    display:none!important;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__price-line{
    display:flex;
    min-height:0;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:flex-start;
    gap:7px;
    margin:0 0 7px;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__old-price{
    min-height:0;
    order:2;
    font-size:.69rem;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__old-price.is-empty{
    display:none;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__price{
    order:1;
    font-size:.91rem;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__link{
    display:inline-flex;
    margin-top:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent!important;
    color:var(--te-pe-module-accent)!important;
    font-size:.68rem;
    font-weight:650;
    line-height:1.4;
    text-decoration:none!important;
}
.te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__link:hover{
    color:var(--te-pe-module-accent-dark)!important;
    background:transparent!important;
}

/* Related-Karussell: dieselbe Produktsprache, kompakt */
.te-pe-related-carousel .te-pe-product-card{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.te-pe-related-carousel .te-pe-product-card__image-link{
    display:block;
    overflow:hidden;
    border-radius:5px;
}
.te-pe-related-carousel .te-pe-product-card__image{
    aspect-ratio:1/1.04;
    padding:0;
    border-radius:5px;
    background:#f6f5f4;
}
.te-pe-related-carousel .te-pe-product-card__sale{
    top:8px;
    right:auto;
    left:8px;
    min-height:21px;
    padding:3px 6px;
    border-radius:3px;
    font-size:.6rem;
}
.te-pe-related-carousel .te-pe-product-card__body{
    display:block;
    padding:10px 1px 1px;
}
.te-pe-related-carousel .te-pe-product-card__brand{
    margin-bottom:4px;
    font-size:.57rem;
    letter-spacing:.11em;
}
.te-pe-related-carousel .te-pe-product-card__title{
    min-height:2.35em;
    max-height:2.35em;
    margin:0 0 6px!important;
    font-family:Manrope,sans-serif;
    font-size:.76rem!important;
    font-weight:500;
    line-height:1.18!important;
}
.te-pe-related-carousel .te-pe-product-card__category,
.te-pe-related-carousel .te-pe-product-card__availability{
    display:none!important;
}
.te-pe-related-carousel .te-pe-product-card__price-line{
    display:flex;
    min-height:0;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:baseline;
    gap:6px;
    margin:0 0 5px;
}
.te-pe-related-carousel .te-pe-product-card__old-price{
    min-height:0;
    order:2;
    font-size:.61rem;
}
.te-pe-related-carousel .te-pe-product-card__old-price.is-empty{
    display:none;
}
.te-pe-related-carousel .te-pe-product-card__price{
    order:1;
    font-size:.82rem;
}
.te-pe-related-carousel .te-pe-product-card__link{
    display:inline-flex;
    margin-top:0;
    padding:0;
    border:0;
    border-radius:0;
    color:var(--te-pe-related-accent)!important;
    background:transparent!important;
    font-size:.61rem;
    font-weight:650;
    line-height:1.35;
}
.te-pe-related-carousel .te-pe-product-card__link:hover{
    color:var(--te-pe-related-accent-dark)!important;
    background:transparent!important;
}

@media(max-width:720px){
    .te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__image{
        aspect-ratio:1/1.04;
    }
}
@media(max-width:480px){
    .te-pe-product-module:not(.te-pe-product-module--related) .te-pe-product-card__image{
        aspect-ratio:1/1;
    }
}

/* =========================================================
   V0.11.0 · PRODUKTFINDER, MERKLISTE & VERGLEICH
   ========================================================= */

.te-pe-product-card{position:relative}
.te-pe-product-card__favorite{
    position:absolute;
    z-index:4;
    top:10px;
    left:10px;
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(44,42,41,.12);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--te-pe-module-text);
    font-size:1.18rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 3px 12px rgba(44,42,41,.08);
    transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease;
}
.te-pe-product-card__favorite:hover,
.te-pe-product-card__favorite.is-active{
    border-color:rgba(139,74,90,.38);
    color:var(--te-pe-module-accent);
    background:#fff;
}
.te-pe-product-card__favorite:hover{transform:translateY(-1px)}
.te-pe-product-card__actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:8px;
}
.te-pe-product-card__actions .te-pe-product-card__link{margin-top:0}
.te-pe-product-card__compare{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:6px 2px;
    border:0;
    background:transparent;
    color:var(--te-pe-module-muted);
    font-family:Manrope,sans-serif;
    font-size:.65rem;
    font-weight:650;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
}
.te-pe-product-card__compare:hover,
.te-pe-product-card__compare.is-active{color:var(--te-pe-module-accent)}

.te-pe-catalog-controls{
    margin:0 0 22px;
    font-family:Manrope,sans-serif;
}
.te-pe-catalog-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 0;
    border-top:1px solid var(--te-pe-module-line);
    border-bottom:1px solid var(--te-pe-module-line);
}
.te-pe-catalog-count{
    color:var(--te-pe-module-muted);
    font-size:.82rem;
}
.te-pe-catalog-count strong{
    color:var(--te-pe-module-text);
    font-size:.95rem;
}
.te-pe-catalog-toolbar__actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.te-pe-filter-open{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 13px;
    border:1px solid var(--te-pe-module-line);
    border-radius:5px;
    background:#fff;
    color:var(--te-pe-module-text);
    font-family:Manrope,sans-serif;
    font-size:.76rem;
    font-weight:700;
    cursor:pointer;
}
.te-pe-filter-open:hover{border-color:var(--te-pe-module-accent);color:var(--te-pe-module-accent)}
.te-pe-filter-open__count{
    min-width:19px;
    height:19px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 5px;
    border-radius:999px;
    background:var(--te-pe-module-accent);
    color:#fff;
    font-size:.64rem;
}
.te-pe-sort{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--te-pe-module-muted);
    font-size:.72rem;
}
.te-pe-sort select{
    min-height:38px;
    max-width:220px;
    padding:7px 32px 7px 10px;
    border:1px solid var(--te-pe-module-line);
    border-radius:5px;
    background:#fff;
    color:var(--te-pe-module-text);
    font-family:Manrope,sans-serif;
    font-size:.74rem;
}
.te-pe-active-filters{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    padding-top:12px;
}
.te-pe-filter-chip{
    padding:6px 9px;
    border:1px solid rgba(139,74,90,.22);
    border-radius:999px;
    background:var(--te-pe-module-soft);
    color:var(--te-pe-module-accent-dark);
    font-family:Manrope,sans-serif;
    font-size:.68rem;
    font-weight:650;
    cursor:pointer;
}
.te-pe-filter-chip:hover{border-color:var(--te-pe-module-accent)}

.te-pe-filter-drawer{
    position:fixed;
    z-index:99990;
    inset:0;
}
.te-pe-filter-drawer[hidden]{display:none!important}
.te-pe-filter-drawer__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(25,22,21,.34);
    cursor:pointer;
}
.te-pe-filter-drawer__panel{
    position:absolute;
    top:0;
    left:0;
    width:min(430px,92vw);
    height:100%;
    overflow:auto;
    background:#fff;
    box-shadow:18px 0 44px rgba(30,25,23,.16);
}
.te-pe-filter-drawer__head{
    position:sticky;
    z-index:2;
    top:0;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:27px 28px 21px;
    border-bottom:1px solid var(--te-pe-module-line);
    background:#fff;
}
.te-pe-filter-drawer__head span{
    display:block;
    margin-bottom:5px;
    color:var(--te-pe-module-accent);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.17em;
}
.te-pe-filter-drawer__head h3{
    margin:0!important;
    color:var(--te-pe-module-text);
    font-family:"Playfair Display",serif;
    font-size:1.7rem!important;
    line-height:1.15!important;
}
.te-pe-filter-drawer__head button{
    width:34px;
    height:34px;
    padding:0;
    border:1px solid var(--te-pe-module-line);
    border-radius:999px;
    background:#fff;
    color:var(--te-pe-module-text);
    font-size:1.35rem;
    line-height:1;
    cursor:pointer;
}
.te-pe-filter-form{padding:0 28px 26px}
.te-pe-filter-form details{border-bottom:1px solid var(--te-pe-module-line)}
.te-pe-filter-form summary{
    position:relative;
    padding:19px 28px 19px 0;
    color:var(--te-pe-module-text);
    font-size:.84rem;
    font-weight:750;
    cursor:pointer;
    list-style:none;
}
.te-pe-filter-form summary::-webkit-details-marker{display:none}
.te-pe-filter-form summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--te-pe-module-accent);font-size:1.25rem;font-weight:400}
.te-pe-filter-form details[open] summary::after{content:"−"}
.te-pe-filter-options{display:grid;gap:4px;padding:0 0 18px}
.te-pe-filter-option{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:9px;
    padding:6px 0;
    color:var(--te-pe-module-text);
    font-size:.76rem;
    cursor:pointer;
}
.te-pe-filter-option input{width:16px;height:16px;accent-color:var(--te-pe-module-accent)}
.te-pe-filter-option small{color:var(--te-pe-module-muted);font-size:.66rem}
.te-pe-filter-empty{margin:0 0 18px;color:var(--te-pe-module-muted);font-size:.74rem}
.te-pe-price-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 0 19px}
.te-pe-price-filter label{display:grid;gap:5px;color:var(--te-pe-module-muted);font-size:.68rem}
.te-pe-price-filter label span{display:flex;align-items:center;gap:5px;color:var(--te-pe-module-text)}
.te-pe-price-filter input{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--te-pe-module-line);border-radius:5px;font:inherit;color:var(--te-pe-module-text);background:#fff}
.te-pe-filter-switch{display:flex;align-items:center;gap:10px;padding:0 0 19px;color:var(--te-pe-module-text);font-size:.76rem;cursor:pointer}
.te-pe-filter-switch input{width:17px;height:17px;accent-color:var(--te-pe-module-accent)}
.te-pe-filter-drawer__footer{
    position:sticky;
    bottom:-1px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
    margin:18px -28px -26px;
    padding:16px 28px 20px;
    border-top:1px solid var(--te-pe-module-line);
    background:#fff;
}
.te-pe-filter-reset,
.te-pe-filter-apply{
    min-height:42px;
    padding:10px 14px;
    border-radius:5px;
    font-family:Manrope,sans-serif;
    font-size:.75rem;
    font-weight:750;
    cursor:pointer;
}
.te-pe-filter-reset{border:1px solid var(--te-pe-module-line);background:#fff;color:var(--te-pe-module-text)}
.te-pe-filter-apply{border:1px solid var(--te-pe-module-accent);background:var(--te-pe-module-accent);color:#fff}
.te-pe-filter-apply:hover{background:var(--te-pe-module-accent-dark);border-color:var(--te-pe-module-accent-dark)}
html.te-pe-filter-open-page,html.te-pe-modal-open{overflow:hidden}

.te-pe-ui-toast{
    position:fixed;
    z-index:100020;
    right:20px;
    bottom:20px;
    width:min(360px,calc(100vw - 40px));
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:13px 15px;
    border:1px solid var(--te-pe-module-line,#e5ded8);
    border-radius:7px;
    background:#fff;
    color:#2c2a29;
    font-family:Manrope,sans-serif;
    font-size:.78rem;
    box-shadow:0 12px 34px rgba(30,25,23,.14);
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
}
.te-pe-ui-toast strong{font-size:.8rem}
.te-pe-ui-toast span{color:#6b6560;font-size:.7rem;line-height:1.45}
.te-pe-ui-toast.is-visible{opacity:1;transform:none}

.te-pe-compare-bar{
    position:fixed;
    z-index:99970;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    width:min(700px,calc(100vw - 28px));
    padding:10px;
    border:1px solid #e5ded8;
    border-radius:8px;
    background:rgba(255,255,255,.98);
    box-shadow:0 12px 38px rgba(30,25,23,.17);
    font-family:Manrope,sans-serif;
}
.te-pe-compare-bar[hidden]{display:none!important}
.te-pe-compare-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px}
.te-pe-compare-bar__inner strong{padding-left:6px;color:#2c2a29;font-size:.77rem}
.te-pe-compare-bar__inner>div{display:flex;gap:7px}
.te-pe-compare-bar button{min-height:36px;padding:8px 11px;border-radius:5px;font-family:Manrope,sans-serif;font-size:.7rem;font-weight:750;cursor:pointer}
.te-pe-compare-bar__clear{border:1px solid #e5ded8;background:#fff;color:#6b6560}
.te-pe-compare-bar__open{border:1px solid #8b4a5a;background:#8b4a5a;color:#fff}
.te-pe-compare-bar__open:disabled{opacity:.45;cursor:default}

.te-pe-compare-modal{position:fixed;z-index:100000;inset:0}
.te-pe-compare-modal[hidden]{display:none!important}
.te-pe-compare-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(25,22,21,.48);cursor:pointer}
.te-pe-compare-modal__dialog{
    position:absolute;
    top:5vh;
    left:50%;
    transform:translateX(-50%);
    width:min(1120px,94vw);
    max-height:90vh;
    overflow:auto;
    border-radius:10px;
    background:#fff;
    box-shadow:0 24px 64px rgba(20,18,17,.24);
    color:#2c2a29;
}
.te-pe-compare-modal__dialog>header{
    position:sticky;
    z-index:3;
    top:0;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:24px 28px 18px;
    border-bottom:1px solid #e5ded8;
    background:#fff;
    font-family:Manrope,sans-serif;
}
.te-pe-compare-modal__dialog>header span{display:block;margin-bottom:4px;color:#8b4a5a;font-size:.62rem;font-weight:800;letter-spacing:.17em}
.te-pe-compare-modal__dialog>header h2{margin:0!important;font-family:"Playfair Display",serif;font-size:1.75rem!important;line-height:1.15!important}
.te-pe-compare-modal__dialog>header button{width:34px;height:34px;padding:0;border:1px solid #e5ded8;border-radius:999px;background:#fff;color:#2c2a29;font-size:1.35rem;cursor:pointer}
.te-pe-compare-modal__content{padding:0 28px 30px;font-family:Manrope,sans-serif}
.te-pe-loading-note{padding:28px 0;color:#6b6560}
.te-pe-compare-table-wrap{overflow:auto}
.te-pe-compare-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.75rem}
.te-pe-compare-table th,.te-pe-compare-table td{padding:13px 14px;border-bottom:1px solid #e5ded8;vertical-align:top;text-align:left}
.te-pe-compare-table tbody th{width:145px;color:#6b6560;font-weight:700}
.te-pe-compare-table thead th:first-child{width:145px;color:#6b6560;font-size:.7rem;vertical-align:bottom}
.te-pe-compare-product{display:flex;min-width:180px;flex-direction:column;gap:5px}
.te-pe-compare-product img{width:100%;max-width:170px;aspect-ratio:1.35/1;object-fit:contain;border-radius:5px;background:#faf8f5}
.te-pe-compare-product small{color:#8b4a5a;font-size:.61rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.te-pe-compare-product strong{font-family:"Playfair Display",serif;font-size:.92rem;line-height:1.25}
.te-pe-compare-product>span{font-weight:800;font-size:.85rem}
.te-pe-compare-product a{color:#8b4a5a!important;font-size:.68rem;font-weight:750;text-decoration:none!important}

.te-pe-favorites-view{
    --te-pe-module-accent:#8b4a5a;
    --te-pe-module-text:#2c2a29;
    --te-pe-module-muted:#6b6560;
    --te-pe-module-line:#e5ded8;
    --te-pe-module-soft:#faf8f5;
    width:100%;
    max-width:1360px;
    margin:0 auto;
    padding:clamp(54px,5vw,76px) 0;
    color:var(--te-pe-module-text);
}
.te-pe-favorites-view__head{max-width:760px;margin:0 auto 28px;text-align:center}
.te-pe-favorites-view__head>span{display:block;margin-bottom:10px;color:var(--te-pe-module-accent);font-family:Manrope,sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.18em}
.te-pe-favorites-view__head h2{margin:0 0 12px!important;font-family:"Playfair Display",serif;font-size:clamp(34px,3vw,44px)!important}
.te-pe-favorites-view__head p{margin:0!important;color:var(--te-pe-module-muted);font-family:Manrope,sans-serif;font-size:.84rem;line-height:1.65}
.te-pe-favorites-view__toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;padding:12px 0;border-top:1px solid var(--te-pe-module-line);border-bottom:1px solid var(--te-pe-module-line);font-family:Manrope,sans-serif;font-size:.75rem}
.te-pe-favorites-view__toolbar button{padding:7px 9px;border:0;background:transparent;color:var(--te-pe-module-accent);font:inherit;font-weight:700;cursor:pointer}
.te-pe-favorites-empty{padding:36px 24px;border:1px dashed var(--te-pe-module-line);border-radius:7px;background:var(--te-pe-module-soft);text-align:center;font-family:Manrope,sans-serif}
.te-pe-favorites-empty strong{display:block;margin-bottom:6px}
.te-pe-favorites-empty p{margin:0;color:var(--te-pe-module-muted);font-size:.8rem}
.te-pe-favorites-view__dynamic.is-loading{opacity:.55;pointer-events:none}

@media(hover:hover) and (pointer:fine){
    .te-pe-product-card__compare{opacity:.68}
    .te-pe-product-card:hover .te-pe-product-card__compare,.te-pe-product-card__compare:focus-visible,.te-pe-product-card__compare.is-active{opacity:1}
}

@media(max-width:720px){
    .te-pe-catalog-toolbar{align-items:flex-start;flex-direction:column}
    .te-pe-catalog-toolbar__actions{width:100%;justify-content:space-between}
    .te-pe-sort{flex:1;justify-content:flex-end}
    .te-pe-sort>span{display:none}
    .te-pe-sort select{width:100%;max-width:230px}
    .te-pe-filter-drawer__panel{width:min(430px,100vw)}
    .te-pe-filter-drawer__head{padding:23px 20px 18px}
    .te-pe-filter-form{padding:0 20px 24px}
    .te-pe-filter-drawer__footer{margin:18px -20px -24px;padding:14px 20px 18px}
    .te-pe-compare-bar{bottom:10px}
    .te-pe-compare-bar__inner{align-items:flex-start;flex-direction:column}
    .te-pe-compare-bar__inner>div{width:100%}
    .te-pe-compare-bar button{flex:1}
    .te-pe-compare-modal__dialog{top:2vh;width:96vw;max-height:96vh}
    .te-pe-compare-modal__dialog>header{padding:19px 18px 15px}
    .te-pe-compare-modal__content{padding:0 18px 22px}
    .te-pe-favorites-view{padding-left:18px;padding-right:18px}
}

@media(max-width:480px){
    .te-pe-product-card__favorite{top:8px;left:8px;width:32px;height:32px}
    .te-pe-product-card__actions{align-items:flex-start;flex-direction:column}
    .te-pe-product-card__compare{padding-left:0}
    .te-pe-price-filter{grid-template-columns:1fr}
    .te-pe-favorites-view__head{text-align:left}
}

@media(prefers-reduced-motion:reduce){
    .te-pe-product-card__favorite,.te-pe-ui-toast{transition:none}
}
.te-pe-product-module__no-results{
    padding:34px 22px;
    border:1px dashed var(--te-pe-module-line);
    border-radius:7px;
    background:var(--te-pe-module-soft);
    text-align:center;
    font-family:Manrope,sans-serif;
}
.te-pe-product-module__no-results strong{display:block;margin-bottom:5px}
.te-pe-product-module__no-results p{margin:0;color:var(--te-pe-module-muted);font-size:.78rem}
/* V0.11.0: Sale-Badge bleibt links, Merkliste liegt bewusst rechts. */
.te-pe-product-card__favorite{left:auto;right:10px}
.te-pe-related-carousel .te-pe-product-card__favorite{top:8px;right:8px;left:auto;width:30px;height:30px;font-size:1rem}
@media(max-width:480px){.te-pe-product-card__favorite{left:auto;right:8px}}
