.mpshop{--o:#fd5b04}.mpshop-hero{text-align:center;max-width:900px;margin:30px auto;padding:0 18px}.eyebrow{color:#fd5b04!important;font-weight:900;font-size:12px;letter-spacing:.1em}.cartlink{color:#fd5b04!important;font-weight:900}.cartlink span{background:#fd5b04;color:#111;border-radius:99px;padding:3px 8px}.catfilter{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:20px}.catfilter button{border:1px solid #fd5b0459;background:#fd5b0414;color:inherit;border-radius:99px;padding:9px 14px;font-weight:900}.catfilter button.active,.catfilter button:hover{background:#fd5b04;color:#111}.shopgrid{max-width:1260px;margin:auto;padding:0 18px 50px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.productcard{background:#fff;color:#111;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px #0002}.productcard *{color:#111}.pic{aspect-ratio:1;display:block;position:relative;background:#eee}.pic img{width:100%;height:100%;object-fit:cover}.placeholder{display:flex;height:100%;align-items:center;justify-content:center;font-size:34px;font-weight:900}.pic b{position:absolute;right:12px;bottom:12px;background:#fd5b04;color:#111;padding:7px 11px;border-radius:99px}.body{padding:16px}.body small{color:#fd5b04!important;font-weight:900;text-transform:uppercase}.shopbtn{display:inline-flex;border:0;border-radius:99px;background:#fd5b04;color:#111!important;text-decoration:none!important;padding:11px 16px;font-weight:900;cursor:pointer}.shopbtn.ghost{background:#fd5b041f;color:#fd5b04!important}.prod-detail{max-width:1180px;margin:36px auto;padding:0 18px;display:grid;grid-template-columns:1fr 1fr;gap:34px}.prod-img{border-radius:26px;overflow:hidden;background:#eee}.prod-img img{width:100%;display:block}.bigprice{font-size:30px;font-weight:900;color:#fd5b04}.buyrow{display:flex;gap:22px;align-items:end;margin:18px 0}.buyrow label{display:grid;gap:5px;font-weight:900}.buyrow input{width:110px;min-height:44px}.license,.noticebox{margin-top:22px;padding:16px;border-radius:18px;background:#fd5b0414;border:1px solid #fd5b0447}.license a,.check a{color:#fd5b04!important;font-weight:900}.cartpage{max-width:1060px;margin:auto;padding:0 18px 50px}.cartrow{display:grid;grid-template-columns:90px 1fr 110px 120px auto;gap:14px;align-items:center;padding:12px;margin:10px 0;border-radius:18px;background:#ffffff0f;border:1px solid #ffffff19}.cartrow img,.cartimg{width:90px;height:90px;object-fit:cover;border-radius:12px;background:#eee}.remove{border:1px solid #fd5b0459;border-radius:99px;background:transparent;color:#fd5b04;font-weight:900;padding:8px}.carttotal{display:flex;justify-content:space-between;font-size:22px;padding:14px 0;border-block:1px solid #ffffff22}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checkout label{display:grid;gap:6px;font-weight:900}.checkout input,.checkout textarea{width:100%;box-sizing:border-box;min-height:44px;border-radius:12px;padding:9px}.check{display:flex!important;flex-direction:row!important;align-items:flex-start;margin:14px 0}.check input{width:auto;min-height:0}.big{font-size:16px;padding:13px 19px}@media(max-width:900px){.shopgrid{grid-template-columns:repeat(2,1fr)}.prod-detail{grid-template-columns:1fr}}@media(max-width:650px){.shopgrid,.formgrid{grid-template-columns:1fr}.cartrow{grid-template-columns:72px 1fr}.cartrow img,.cartimg{width:72px;height:72px}.cartrow>*:nth-child(n+3){grid-column:2}}

/* V0.2 – automatische Shop-/Warenkorb-Navigation */
.mppl-shop-header-link {
  white-space: nowrap;
}

.mppl-shop-cart-icon {
  display: inline-block;
  margin-right: 3px;
}

.mppl-shop-cart-count {
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  margin-left: 3px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fd5b04;
  color: #111111 !important;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
}

header .mppl-shop-header-link:hover .mppl-shop-cart-count,
nav .mppl-shop-header-link:hover .mppl-shop-cart-count {
  color: #111111 !important;
}

@media (max-width: 1100px) {
  .mppl-shop-cart-icon {
    display: none;
  }
}

/* V0.3 – einheitliches Produkt-Raster */
.productcard{display:flex;flex-direction:column;height:100%}
.productcard .body{display:flex;flex-direction:column;flex:1}
.productcard .body>p{flex:1}
.productcard .body .shopbtn{align-self:flex-start}
.productcard .pic{width:100%;aspect-ratio:1}
.productcard .pic img{width:100%;height:100%;object-fit:cover}


/* V0.4 – Produktdetail-Fixes */

/* Das Theme gibt bei diesem Custom-Post-Type bereits einen Seitentitel aus.
   Auf der Produktseite verwenden wir stattdessen nur den Titel im Shop-Layout. */
body.mppl-shop-product-page .entry-title,
body.mppl-shop-product-page .post-title,
body.mppl-shop-product-page .page-title,
body.mppl-shop-product-page .wp-block-post-title,
body.single-mppl_product .entry-title,
body.single-mppl_product .post-title,
body.single-mppl_product .page-title,
body.single-mppl_product .wp-block-post-title {
  display: none !important;
}

/* Linke und rechte Spalte sollen sich nicht gegenseitig in die Höhe ziehen. */
.prod-detail {
  align-items: start !important;
}

/* Produktfoto wirklich quadratisch halten. */
.prod-img {
  width: 100%;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  align-self: start !important;
  display: block;
  overflow: hidden;
}

.prod-img img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
}

/* Falls noch kein Bild hinterlegt ist, bleibt auch der Platzhalter quadratisch. */
.prod-img .placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
}

/* "Gesamt 12,00 €" mit sauberem Abstand. */
.prod-total {
  display: flex !important;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

.prod-total span,
.prod-total strong {
  display: inline-block;
}


/* V0.5 – Artikelseite direkt ab Produktkarte beginnen */
.mppl-shop-theme-title-hidden,
.mppl-shop-theme-title-wrap-hidden {
  display: none !important;
}

/* Zusätzliche Theme-Varianten sicher ausblenden */
body.single-mppl_product main > .entry-header,
body.single-mppl_product article > .entry-header,
body.single-mppl_product .site-main > .page-header,
body.single-mppl_product .site-main > .post-header {
  display: none !important;
}

/* Produktdetail kompakter starten */
body.single-mppl_product .prod-detail,
body.mppl-shop-product-page .prod-detail {
  margin-top: 18px !important;
}

/* Das Plugin-eigene Layout bleibt unverändert:
   Bild links, Titel und restliche Produktinfos rechts. */
.prod-detail .mppl-product-title {
  margin-top: 0 !important;
}


/* V0.6 – Navigation kommt serverseitig, dadurch kein Nachladen/Verspringen mehr */
.main-nav .mppl-shop-menu-item {
  display: inline-flex;
  align-items: center;
}

.main-nav .mppl-shop-cart-menu-item a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.mppl-shop-cart-count {
  width: 26px !important;
  min-width: 26px !important;
  height: 20px;
  padding: 0 !important;
  box-sizing: border-box;
  font-variant-numeric: tabular-nums;
}

/* Das Plugin besitzt jetzt ein eigenes Single-Template.
   Kein Theme-H1 wird mehr gerendert, daher gibt es beim Laden keinen Titel-Flash. */
.mppl-shop-single-shell {
  padding-top: 0 !important;
}

.mppl-shop-single-article > .prod-detail {
  margin-top: 18px !important;
}


/* V0.7 – Mobile Produktdetail sauber innerhalb der Karte */
.prod-detail,
.prod-img,
.prod-info,
.license,
.buyrow,
.mppl-shop-single-shell,
.mppl-shop-single-article {
  box-sizing: border-box;
  min-width: 0;
}

/* Lange Links oder Lizenztexte dürfen die Spalte niemals verbreitern. */
.license,
.license p,
.license a,
.prod-info,
.prod-info p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Grid-Spalten dürfen auf kleinen Breiten wirklich schrumpfen. */
.prod-detail {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
}

@media (max-width: 900px) {
  .prod-detail {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .prod-img,
  .prod-info {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 650px) {
  body.single-mppl_product {
    overflow-x: hidden;
  }

  .mppl-shop-single-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow: hidden;
  }

  .mppl-shop-single-shell > .container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mppl-shop-single-article {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  .prod-detail,
  body.single-mppl_product .prod-detail,
  body.mppl-shop-product-page .prod-detail,
  .mppl-shop-single-article > .prod-detail {
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px auto 22px !important;
    padding: 0 !important;
    gap: 18px !important;
    box-sizing: border-box !important;
  }

  .prod-img {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto !important;
    border-radius: 20px;
  }

  .prod-img img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  .prod-info {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .prod-detail .mppl-product-title {
    font-size: clamp(27px, 9vw, 36px) !important;
    line-height: 1.05 !important;
    overflow-wrap: break-word;
  }

  .bigprice {
    font-size: 25px !important;
    line-height: 1.15;
  }

  .buyrow {
    width: 100%;
    max-width: 100%;
    gap: 12px !important;
    flex-wrap: wrap;
    align-items: end;
  }

  .buyrow input {
    width: 78px !important;
    max-width: 100%;
  }

  .prod-total {
    min-width: 0;
    gap: 5px !important;
  }

  .prod-info > .shopbtn {
    padding: 10px 12px;
    font-size: 12px;
    margin-bottom: 6px;
  }

  .license {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  .license h3 {
    font-size: 21px;
  }

  .license p,
  .license a {
    max-width: 100%;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}

/* V0.8 – Diashow im Shop */
.mppl-shop-card-slideshow,.mppl-shop-card-slides{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden}
.mppl-shop-card-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity .7s ease,transform 2.8s ease}
.mppl-shop-card-slides img.is-active{opacity:1;transform:scale(1)}
/* V0.8 – Produktgalerie */
.prod-img.mppl-product-gallery{overflow:visible;background:transparent;aspect-ratio:auto!important}
.mppl-product-gallery-stage{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:26px;background:#eee}
.mppl-product-gallery-stage>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0;pointer-events:none;transition:opacity .25s ease}
.mppl-product-gallery-stage>img.is-active{opacity:1;pointer-events:auto}
.mppl-gallery-arrow{position:absolute;top:50%;z-index:5;width:46px;height:46px;transform:translateY(-50%);border:0;border-radius:999px;background:rgba(10,10,10,.76);color:#fff;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.24)}
.mppl-gallery-arrow:hover{background:#fd5b04;color:#111}.mppl-gallery-prev{left:14px}.mppl-gallery-next{right:14px}
.mppl-gallery-counter{position:absolute;right:14px;bottom:14px;z-index:5;padding:6px 10px;border-radius:999px;background:rgba(10,10,10,.72);color:#fff;font-size:13px;font-weight:800}
.mppl-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,74px));gap:9px;margin-top:10px}
.mppl-gallery-thumb{border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#eee;aspect-ratio:1/1;cursor:pointer;opacity:.62;transition:border-color .15s,opacity .15s,transform .15s}
.mppl-gallery-thumb:hover,.mppl-gallery-thumb.is-active{border-color:#fd5b04;opacity:1;transform:translateY(-1px)}
.mppl-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:650px){.mppl-product-gallery-stage{border-radius:18px}.mppl-gallery-arrow{width:40px;height:40px;font-size:29px}.mppl-gallery-prev{left:8px}.mppl-gallery-next{right:8px}.mppl-gallery-counter{right:8px;bottom:8px}.mppl-gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(48px,58px));gap:7px}}
