.te-pe-product{
    --te-pe-accent:#8b4a5a;
    --te-pe-accent-dark:#6f3947;
    --te-pe-text:#252525;
    --te-pe-muted:#6d6864;
    --te-pe-line:#e8e1dc;
    --te-pe-soft:#faf8f5;
    --te-pe-gallery-bg:#f2f2f2;
    --te-pe-white:#fff;
    color:var(--te-pe-text);
    max-width:1180px;
    margin:0 auto;
}
.te-pe-product *{box-sizing:border-box}
.te-pe-product-main{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:clamp(28px,5vw,64px);
    align-items:start;
    margin:12px 0 44px;
}
.te-pe-product-image{
    background:var(--te-pe-gallery-bg);
    border:1px solid var(--te-pe-line);
    border-radius:18px;
    overflow:hidden;
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
}
.te-pe-product-image img{width:100%;height:100%;object-fit:contain;display:block}
.te-pe-product-image--placeholder{color:var(--te-pe-muted);font-size:.95rem;min-height:360px}
.te-pe-product-thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.te-pe-product-thumbnail{border:1px solid var(--te-pe-line);border-radius:10px;overflow:hidden;aspect-ratio:1/1;background:var(--te-pe-gallery-bg)}
.te-pe-product-thumbnail img{width:100%;height:100%;object-fit:contain;display:block;background:var(--te-pe-gallery-bg)}
.te-pe-product-summary{padding-top:6px}
.te-pe-brand{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--te-pe-accent);margin-bottom:8px}
.te-pe-product-name{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15;margin:0 0 10px;color:var(--te-pe-text)}
.te-pe-category{
    display:inline-flex;
    align-items:center;
    color:var(--te-pe-accent);
    font-size:.76rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.11em;
    margin-bottom:14px;
}
.te-pe-offer-card{border:1px solid var(--te-pe-line);border-radius:16px;padding:22px;background:var(--te-pe-white);box-shadow:0 8px 28px rgba(35,28,24,.055)}
.te-pe-offer-card--empty{background:var(--te-pe-soft);box-shadow:none}
.te-pe-promotion{display:inline-block;background:var(--te-pe-soft);color:var(--te-pe-accent-dark);font-weight:700;border-radius:999px;padding:6px 10px;font-size:.82rem;margin-bottom:12px}
.te-pe-price-line{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.te-pe-price{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1;color:var(--te-pe-text)}
.te-pe-old-price{text-decoration:line-through;color:var(--te-pe-muted);font-size:1rem}
.te-pe-stock{display:block;font-weight:700;margin:10px 0 4px}
.te-pe-stock--yes{color:#2f6d46}.te-pe-stock--no{color:#9a3e3e}.te-pe-stock--unknown{color:var(--te-pe-muted)}
.te-pe-delivery,.te-pe-merchant{font-size:.93rem;color:var(--te-pe-muted);margin-top:5px}
.te-pe-buy-button{display:flex!important;align-items:center;justify-content:center;width:100%;margin-top:20px;padding:14px 18px;border-radius:10px;background:var(--te-pe-accent);color:#fff!important;text-decoration:none!important;font-weight:700;text-align:center;transition:transform .15s ease,background .15s ease}
.te-pe-buy-button:hover{background:var(--te-pe-accent-dark);transform:translateY(-1px)}
.te-pe-affiliate-note{font-size:.76rem!important;line-height:1.45!important;color:var(--te-pe-muted);margin:12px 0 0!important}
.te-pe-product-details,.te-pe-editorial-content{border-top:1px solid var(--te-pe-line);padding-top:32px;margin-top:32px}
.te-pe-product-details h2,.te-pe-editorial-content h2{margin:0 0 18px;font-size:1.45rem}
.te-pe-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin:0}
.te-pe-detail-row{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:15px;padding:11px 0;border-bottom:1px solid var(--te-pe-line)}
.te-pe-detail-row dt{font-weight:600;color:var(--te-pe-muted)}
.te-pe-detail-row dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.te-pe-editorial-content>:last-child{margin-bottom:0}
@media(max-width:800px){
    .te-pe-product-main{grid-template-columns:1fr;gap:26px}
    .te-pe-product-image--placeholder{min-height:280px}
    .te-pe-detail-list{grid-template-columns:1fr}
}
@media(max-width:480px){
    .te-pe-offer-card{padding:18px}
    .te-pe-detail-row{grid-template-columns:1fr;gap:3px}
}

/* V0.3.2: interaktive Galerie und strukturierte Feed-Inhalte */
.te-pe-product-thumbnail{
    appearance:none;
    -webkit-appearance:none;
    padding:0;
    cursor:pointer;
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.te-pe-product-thumbnail:hover{transform:translateY(-1px)}
.te-pe-product-thumbnail:focus-visible{outline:2px solid var(--te-pe-accent);outline-offset:2px}
.te-pe-product-thumbnail.is-active{border-color:var(--te-pe-accent);box-shadow:0 0 0 1px var(--te-pe-accent)}
.te-pe-short-description{font-size:.98rem;line-height:1.6;color:var(--te-pe-muted);margin:0 0 22px}
.te-pe-shipping{font-size:.93rem;color:var(--te-pe-muted);margin-top:5px}
.te-pe-structured-content{border-top:1px solid var(--te-pe-line);padding-top:32px;margin-top:32px}
.te-pe-structured-content h2{margin:0 0 18px;font-size:1.45rem}
.te-pe-structured-text{line-height:1.7}
.te-pe-structured-text>:last-child{margin-bottom:0}

.te-pe-spec-list{
  margin:0;
  padding-left:1.2rem;
}
.te-pe-spec-list li{
  margin:.35rem 0;
}

/* V0.5.1: Produktseiten ohne Blog-Metadaten; Aktualität wird am Angebot gezeigt. */
body.single-te_product .hero-section .entry-meta,
body.single-te_product .hero-section .ct-meta-element,
body.single-te_product .entry-header .entry-meta{
    display:none!important;
}
.te-pe-freshness{
    margin-top:12px;
    font-size:.76rem;
    line-height:1.45;
    color:var(--te-pe-muted);
}

/* V0.9.2: Blocksy-Hero zeigt den WordPress-Auszug nicht zusätzlich zur Product Engine. */
body.single-te_product .hero-section .entry-excerpt,
body.single-te_product .entry-header .entry-excerpt{
    display:none!important;
}

/* V0.11.0: Merkliste und Vergleich direkt auf Produktdetailseiten. */
.te-pe-product-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 16px;
}
.te-pe-product-action{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:36px;
    padding:7px 11px;
    border:1px solid var(--te-pe-line);
    border-radius:6px;
    background:#fff;
    color:var(--te-pe-muted);
    font-family:inherit;
    font-size:.78rem;
    font-weight:700;
    cursor:pointer;
    transition:border-color .15s ease,color .15s ease,background .15s ease;
}
.te-pe-product-action:hover,
.te-pe-product-action.is-active{
    border-color:rgba(139,74,90,.35);
    color:var(--te-pe-accent);
    background:var(--te-pe-soft);
}
.te-pe-product-action>span[aria-hidden="true"]{font-size:1rem;line-height:1}

/* =========================================================
   V0.15.0 – Produktseite V2
   Adaptiver Produktüberblick, dezentes Rabatt-Badge und
   zweiter kompakter Händler-CTA nach den Produktdetails.
   ========================================================= */
.te-pe-discount-badge{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    margin:0 0 12px;
    padding:5px 9px;
    border-radius:999px;
    background:#f4e8eb;
    color:var(--te-pe-accent-dark);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.02em;
}

.te-pe-glance{
    margin:0 0 38px;
    padding:clamp(22px,3vw,30px);
    border:1px solid var(--te-pe-line);
    border-radius:18px;
    background:var(--te-pe-soft);
}
.te-pe-glance__head{
    margin-bottom:20px;
}
.te-pe-glance__kicker{
    display:block;
    margin-bottom:6px;
    color:var(--te-pe-accent);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.te-pe-glance__head h2{
    margin:0!important;
    font-size:clamp(1.35rem,2.2vw,1.7rem)!important;
    line-height:1.2!important;
}
.te-pe-glance__grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
}
.te-pe-glance__item{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    min-height:78px;
    padding:13px 14px;
    border:1px solid rgba(139,74,90,.12);
    border-radius:12px;
    background:#fff;
}
.te-pe-glance__icon-wrap{
    display:flex;
    flex:0 0 38px;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#f8f1f3;
    color:var(--te-pe-accent);
}
.te-pe-glance-icon{
    width:21px;
    height:21px;
    display:block;
}
.te-pe-glance__copy{
    min-width:0;
}
.te-pe-glance__copy strong{
    display:block;
    color:var(--te-pe-text);
    font-size:.86rem;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.te-pe-glance__copy span{
    display:block;
    margin-top:3px;
    color:var(--te-pe-muted);
    font-size:.7rem;
    line-height:1.25;
}

.te-pe-editorial-intro-heading{
    margin-bottom:18px!important;
}

.te-pe-secondary-offer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:38px;
    padding:20px 22px;
    border:1px solid var(--te-pe-line);
    border-radius:14px;
    background:var(--te-pe-soft);
}
.te-pe-secondary-offer__copy{
    min-width:0;
}
.te-pe-secondary-offer__kicker{
    display:block;
    margin-bottom:5px;
    color:var(--te-pe-accent);
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.17em;
}
.te-pe-secondary-offer__price-line{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:7px;
}
.te-pe-secondary-offer__price-line strong{
    color:var(--te-pe-text);
    font-size:1.25rem;
    line-height:1.1;
}
.te-pe-secondary-offer__price-line span{
    color:var(--te-pe-muted);
    font-size:.85rem;
}
.te-pe-secondary-offer__copy small{
    display:block;
    margin-top:5px;
    color:var(--te-pe-muted);
    font-size:.67rem;
    line-height:1.35;
}
.te-pe-secondary-offer__button{
    display:inline-flex!important;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:11px 16px;
    border-radius:9px;
    background:var(--te-pe-accent);
    color:#fff!important;
    text-decoration:none!important;
    font-size:.82rem;
    font-weight:800;
    transition:background .15s ease,transform .15s ease;
}
.te-pe-secondary-offer__button:hover{
    background:var(--te-pe-accent-dark);
    transform:translateY(-1px);
}
.te-pe-secondary-offer__button:focus-visible,
.te-pe-buy-button:focus-visible,
.te-pe-product-action:focus-visible{
    outline:2px solid var(--te-pe-accent);
    outline-offset:3px;
}

/* V0.15.1: mittlere Breiten bewusst 3 + 3 statt zu schmaler Auto-Fit-Kacheln. */
@media(max-width:1000px){
    .te-pe-glance__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .te-pe-glance__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .te-pe-secondary-offer{align-items:stretch;flex-direction:column;gap:14px}
    .te-pe-secondary-offer__button{width:100%}
}
@media(max-width:440px){
    .te-pe-glance{padding:18px}
    .te-pe-glance__item{min-height:68px;padding:11px 10px;gap:9px}
    .te-pe-glance__icon-wrap{flex-basis:34px;width:34px;height:34px}
    .te-pe-glance__copy strong{font-size:.8rem}
}
@media(max-width:340px){
    .te-pe-glance__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .te-pe-secondary-offer__button{transition:none}
}

/* =========================================================
   V0.16.0 – V3.1
   Separater redaktioneller Zusatz „Was passt hinein?“.
   ========================================================= */
.te-pe-fit-content{
    margin-top:34px;
    padding:28px 30px;
    border:1px solid var(--te-pe-line);
    border-radius:16px;
    background:#fff;
}
.te-pe-fit-content__kicker{
    display:block;
    margin-bottom:6px;
    color:var(--te-pe-accent);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.te-pe-fit-content h2{
    margin:0 0 16px!important;
    font-size:1.45rem!important;
}
.te-pe-fit-content__text{
    max-width:820px;
    color:var(--te-pe-text);
    line-height:1.72;
}
.te-pe-fit-content__text p{margin:0 0 12px}
.te-pe-fit-content__text p:last-child{margin-bottom:0}
@media(max-width:700px){
    .te-pe-fit-content{padding:22px 20px}
}

/* =========================================================
   V0.17.0 – Produktfamilien / Farb- und Modellvarianten
   ========================================================= */
.te-pe-family-variants{
    margin-top:38px;
    padding:28px 30px 30px;
    border:1px solid var(--te-pe-line);
    border-radius:16px;
    background:#fff;
}
.te-pe-family-variants__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.te-pe-family-variants__kicker{
    display:block;
    margin-bottom:6px;
    color:var(--te-pe-accent);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.te-pe-family-variants h2{
    margin:0!important;
    font-size:1.45rem!important;
}
.te-pe-family-variants__count{
    flex:0 0 auto;
    color:var(--te-pe-muted,#6b6560);
    font-size:.78rem;
}
.te-pe-family-variants__track{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.te-pe-family-variant{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:3px 8px;
    align-items:center;
    min-height:76px;
    padding:10px 11px;
    border:1px solid var(--te-pe-line);
    border-radius:11px;
    color:var(--te-pe-text)!important;
    text-decoration:none!important;
    background:#fff;
    transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.te-pe-family-variant.is-current{
    border-color:rgba(139,74,90,.55);
    box-shadow:0 0 0 1px rgba(139,74,90,.16),0 5px 14px rgba(61,45,49,.05);
    background:#fcf8f9;
}
.te-pe-family-variant__image{
    position:relative;
    grid-row:1 / span 2;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:8px;
    background:#f2f2f2;
}
.te-pe-family-variant__image img{width:100%;height:100%;object-fit:contain}
.te-pe-family-variant strong{min-width:0;align-self:end;font-size:.78rem;line-height:1.28;overflow-wrap:normal;word-break:normal;hyphens:none}
.te-pe-family-variant small{min-width:0;align-self:start;color:#6b6560;font-size:.72rem;line-height:1.25}
/* Die aktuelle Variante wird über die Karte und einen Haken im Bild markiert. */
.te-pe-family-variant.is-current .te-pe-family-variant__image::after{
    content:"✓";
    position:absolute;
    top:3px;
    right:3px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:14px;
    height:14px;
    border:1px solid rgba(139,74,90,.34);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:var(--te-pe-accent);
    font-size:.56rem;
    font-weight:800;
    line-height:1;
    box-shadow:0 1px 3px rgba(61,45,49,.06);
}
@media(hover:hover) and (pointer:fine){
    .te-pe-family-variant:hover{border-color:rgba(139,74,90,.5);transform:translateY(-1px)}
}
.te-pe-family-variant:focus-visible{outline:2px solid var(--te-pe-accent);outline-offset:2px}
@media(max-width:1000px){.te-pe-family-variants__track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
    .te-pe-family-variants{padding:22px 20px}
    .te-pe-family-variants__head{align-items:flex-start;flex-direction:column;gap:6px}
    .te-pe-family-variants__track{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.te-pe-family-variant{transition:none}}

/* V0.23.14 · Familienvarianten: nicht verfügbare veröffentlichte Varianten bleiben sichtbar. */
.te-pe-family-variant.is-unavailable small{font-style:italic}
.te-pe-family-variant.is-unavailable .te-pe-family-variant__image{opacity:.78}

/* V0.23.15 · Aktuelle Familienvariante ohne überlagerndes Badge markieren. */
/* V0.23.16 · Variantenkarten kompakter; Status-Haken ohne Zusatzzeile und saubere Wortumbrüche. */

/* V0.23.17 · Familienkarten: mehr Textbreite, keine Trennung innerhalb einzelner Wörter; Haken im Produktbild. */
