/* Meldo Purchase Wizard — alles unter .mpw-* gescoped, damit BuddyBoss
   weder unsere Buttons noch unsere Listen anfasst und umgekehrt. */

.mpw-overlay{position:fixed;inset:0;z-index:100050;display:none;align-items:center;justify-content:center;
    padding:20px;background:rgba(17,20,22,.55);backdrop-filter:blur(2px);}
.mpw-overlay.is-open{display:flex;}
.mpw-overlay *{box-sizing:border-box;}
body.mpw-locked{overflow:hidden;}

/* v0.28.0: Kopf und Fuss stehen fest, nur der Inhalt dazwischen scrollt —
   «Weiter» bzw. «Zur Kasse» bleibt immer sichtbar. */
.mpw-box{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;
    max-height:92vh;max-height:92dvh;overflow:hidden;
    background:#fff;border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.22);
    font-family:'Akko',sans-serif;color:#111416;
    animation:mpw-rise .22s cubic-bezier(.2,.8,.3,1);}
@keyframes mpw-rise{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}

/* v0.28.0: rund und mittig, auch wenn das Theme Knöpfen Innenabstand,
   Mindestbreite oder Schatten gibt — darum die höhere Spezifität und die
   !important bei den Massen. Das Kreuz ist ein SVG (siehe wizard.js). */
.mpw-overlay .mpw-box>.mpw-close{position:absolute;top:16px;right:16px;z-index:2;display:flex;align-items:center;
    justify-content:center;flex:none;box-sizing:border-box;width:40px !important;height:40px !important;
    min-width:0 !important;min-height:0 !important;margin:0;padding:0 !important;border:0;border-radius:50% !important;
    background:#F1F3F4;color:#111416;line-height:0;box-shadow:none;-webkit-appearance:none;appearance:none;
    cursor:pointer;transition:background .15s ease,color .15s ease;}
.mpw-overlay .mpw-box>.mpw-close:hover{background:#e4e8e9;}
.mpw-overlay .mpw-box>.mpw-close:focus-visible{outline:2px solid rgba(61,124,133,.45);outline-offset:2px;}
.mpw-overlay .mpw-box>.mpw-close svg{display:block;width:18px;height:18px;pointer-events:none;}

.mpw-head{flex:none;padding:26px 72px 0 28px;}
.mpw-title{margin:0;font-family:'Akko',sans-serif;font-weight:700;font-size:1.4rem;line-height:1.25;color:#111416;}

.mpw-steps{display:flex;gap:8px;margin:18px 0 0;padding:0;list-style:none;}
.mpw-steps>li{display:flex;align-items:center;gap:7px;flex:1 1 0;min-width:0;margin:0;padding:0;
    font-size:.78rem;font-weight:600;color:#9aa3a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mpw-steps>li>span{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:50%;background:#eceff0;color:#6b7472;
    font-family:'Akko',sans-serif;font-weight:700;font-size:.76rem;transition:background .18s ease,color .18s ease;}
.mpw-steps>li.is-active{color:#3D7C85;}
.mpw-steps>li.is-active>span{background:#3D7C85;color:#fff;}
.mpw-steps>li.is-done{color:#E8924F;}
.mpw-steps>li.is-done>span{background:#E8924F;color:#111416;}

.mpw-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;padding:22px 28px 18px;}
.mpw-foot{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 28px 22px;
    background:#fff;border-top:1px solid #eef2f1;}
.mpw-foot:empty{display:none;}
.mpw-flash{flex:none;}
.mpw-foot .mpw-primary{margin-left:auto;}

.mpw-loading,.mpw-error{padding:34px 0;text-align:center;font-size:.92rem;color:#6b7472;}
.mpw-error{color:#a32019;}

.mpw-field{margin:0 0 20px;padding:0;border:0;}
.mpw-field>legend,.mpw-label{display:block;margin:0 0 8px;padding:0;
    font-family:'Akko',sans-serif;font-weight:700;font-size:.95rem;color:#111416;}
.mpw-hint{margin:8px 0 0;font-size:.82rem;line-height:1.5;color:#6b7472;}

.mpw-terms{display:flex;flex-direction:column;gap:8px;}
.mpw-term{display:flex;align-items:baseline;gap:10px;padding:12px 14px;
    background:#fff;border:1px solid #dfe6e5;border-radius:14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;}
.mpw-term:hover{border-color:#CCD4D5;}
.mpw-term.is-on{border-color:#E8924F;box-shadow:0 0 0 2px rgba(232,146,79,.18);}
.mpw-term input{margin:0;flex:0 0 auto;}
.mpw-term-label{flex:1 1 auto;font-weight:600;font-size:.92rem;}
.mpw-term-price{font-family:'Akko',sans-serif;font-weight:700;font-size:.95rem;color:#3D7C85;white-space:nowrap;}
.mpw-term-price small{font-family:'Akko',sans-serif;font-weight:400;font-size:.74rem;color:#6b7472;}
.mpw-term-note{flex:0 0 100%;font-size:.75rem;color:#8a9290;}

.mpw-stepper{display:inline-flex;align-items:stretch;border:1px solid #dfe6e5;border-radius:14px;overflow:hidden;background:#fff;}
.mpw-step-btn{width:44px;border:0;background:#FAF8F3;color:#3D7C85;font-size:1.15rem;line-height:1;cursor:pointer;
    transition:background .15s ease;}
.mpw-step-btn:hover{background:#EFF2F2;}
.mpw-stepper input{width:96px;border:0;border-left:1px solid #eceff0;border-right:1px solid #eceff0;
    padding:11px 8px;text-align:center;font-family:'Akko',sans-serif;font-weight:700;font-size:1rem;color:#111416;
    background:#fff;-moz-appearance:textfield;}
.mpw-stepper input::-webkit-outer-spin-button,.mpw-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.mpw-text{width:100%;padding:11px 14px;border:1px solid #dfe6e5;border-radius:14px;background:#fff;
    font-family:'Akko',sans-serif;font-size:.95rem;color:#111416;}
.mpw-text:focus,.mpw-stepper input:focus{outline:2px solid rgba(61,124,133,.35);outline-offset:1px;}

.mpw-wb{display:flex;gap:16px;align-items:flex-start;padding:16px;background:#FAF8F3;
    border:1px solid #e6eceb;border-radius:16px;margin-bottom:18px;}
.mpw-wb-img{flex:0 0 auto;width:78px;height:auto;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.12);}
.mpw-wb-main{flex:1 1 auto;min-width:0;}
.mpw-wb-name{display:block;font-family:'Akko',sans-serif;font-weight:700;font-size:1rem;}
.mpw-wb .mpw-stepper{margin-top:12px;}

.mpw-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 4px;padding:13px 16px;
    background:#F6F8F9;border:1px solid #DCE3E4;border-radius:14px;opacity:0;transition:opacity .2s ease;}
.mpw-sum.is-ready{opacity:1;}
.mpw-sum span{font-size:.84rem;color:#5a6360;}
.mpw-sum b{margin-left:auto;font-family:'Akko',sans-serif;font-weight:700;font-size:1.15rem;color:#3D7C85;}
.mpw-sum em{flex:0 0 100%;font-style:normal;font-size:.78rem;color:#6b7472;}

.mpw-sum .mpw-sum-rows{flex:0 0 100%;display:flex;flex-direction:column;gap:5px;margin:0 0 8px;
    padding:0 0 9px;border-bottom:1px solid #DCE3E4;}
.mpw-sum .mpw-sum-rows>div{display:flex;align-items:baseline;gap:10px;}
.mpw-sum .mpw-sum-rows span{flex:1 1 auto;font-size:.84rem;color:#5a6360;}
.mpw-sum .mpw-sum-rows b{margin-left:0;font-family:'Akko',sans-serif;font-weight:700;
    font-size:.92rem;color:#111416;}
.mpw-lines{margin:0 0 14px;padding:0;}
.mpw-line{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid #f0f2f2;}
.mpw-line dt{margin:0;flex:1 1 auto;font-size:.88rem;color:#5a6360;}
.mpw-line dd{margin:0;flex:0 0 auto;font-family:'Akko',sans-serif;font-weight:700;font-size:.92rem;color:#111416;}
.mpw-line.is-discount dd{color:#E8924F;}
.mpw-meta .mpw-line{border-bottom:0;padding:4px 0;}
.mpw-meta dd{font-weight:600;font-size:.85rem;color:#5a6360;}

.mpw-total{display:flex;align-items:baseline;gap:12px;padding:14px 16px;margin:0 0 10px;
    background:#F6F8F9;border:1px solid #DCE3E4;border-radius:14px;}
.mpw-total span{flex:1 1 auto;font-family:'Akko',sans-serif;font-weight:700;font-size:.95rem;}
.mpw-total b{font-family:'Akko',sans-serif;font-weight:700;font-size:1.35rem;color:#3D7C85;}
.mpw-total.is-later{background:#fdf8ec;border-color:#f0e0bb;}
.mpw-total.is-later b{font-size:1.05rem;color:#8a6100;}

.mpw-steps>li>.mpw-opt{font-style:normal;font-size:.72rem;font-weight:400;color:#9aa3a1;margin-left:5px;}
.mpw-intro{margin:0 0 18px;padding:12px 15px;background:#F6F8F9;border:1px solid #DCE3E4;border-radius:12px;
    font-size:.86rem;line-height:1.6;color:#306168;}
.mpw-intro-rich{padding:13px 16px;}
.mpw-intro-rich p{margin:0 0 7px;font-size:.85rem;line-height:1.6;color:#577174;}
.mpw-intro-rich p:last-child{margin-bottom:0;}
.mpw-intro-rich strong{color:#306168;}
.mpw-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:7px;
    padding:0;border:0;border-radius:50%;background:#EFF2F2;color:#3D7C85;cursor:pointer;vertical-align:middle;
    transition:background .15s ease,color .15s ease;}
.mpw-info-btn:hover{background:#3D7C85;color:#fff;}
.mpw-info-btn.is-on{background:#3D7C85;color:#fff;}
.mpw-info-panel{margin:10px 0 0;padding:13px 15px;background:#fff;border:1px solid #dfe6e5;border-radius:12px;}
.mpw-info-panel p{margin:0 0 8px;font-size:.84rem;line-height:1.6;color:#5a6360;}
.mpw-info-panel p:last-child{margin-bottom:0;}
.mpw-info-panel .mpw-info-list-title{margin-top:10px;font-weight:600;color:#111416;}
.mpw-info-panel ul{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.mpw-info-panel ul>li{margin:0;padding:3px 11px;background:#F6F8F9;border:1px solid #DCE3E4;border-radius:999px;
    font-size:.79rem;color:#306168;}
.mpw-info-panel .mpw-info-claim{font-family:'Akko',sans-serif;font-weight:700;color:#111416;}
.mpw-benefits .mpw-single-link{color:#3D7C85;font-weight:600;text-decoration:underline;text-underline-offset:2px;
    white-space:nowrap;}
.mpw-benefits .mpw-single-link:hover{color:#306168;}
.mpw-benefits{list-style:none;margin:12px 0 0;padding:0;}
.mpw-benefits>li{position:relative;margin:0;padding:0 0 0 22px;font-size:.84rem;line-height:1.55;color:#5a6360;}
.mpw-benefits>li+li{margin-top:6px;}
.mpw-benefits>li::before{content:'';position:absolute;left:4px;top:.55em;width:7px;height:7px;border-radius:50%;
    background:#E8924F;}
.mpw-benefits>li:last-child::before{background:#bcc4c2;}
.mpw-check.is-on{border-color:#E8924F;box-shadow:0 0 0 2px rgba(232,146,79,.18);}
.mpw-wb-qty{margin-top:4px;}
.mpw-payer{margin-top:4px;}
.mpw-payer .mpw-payer-opt{display:flex;align-items:flex-start;gap:9px;margin:0 0 8px;padding:11px 13px;
    background:#fff;border:1px solid #dfe6e5;border-radius:12px;cursor:pointer;
    transition:border-color .15s ease,box-shadow .15s ease;}
.mpw-payer .mpw-payer-opt:last-child{margin-bottom:0;}
.mpw-payer .mpw-payer-opt.is-on{border-color:#E8924F;box-shadow:0 0 0 2px rgba(232,146,79,.18);}
.mpw-payer .mpw-payer-opt input{margin:3px 0 0;flex:0 0 auto;}
.mpw-payer .mpw-payer-opt strong{display:block;font-size:.9rem;color:#111416;}
.mpw-payer .mpw-payer-opt .mpw-payer-warn{display:block;margin-top:5px;font-style:normal;color:#8a6100;}

/* Hinweis, solange die Mindestmenge nicht erreicht ist. Kein Fehler, sondern
   eine Bedingung — deshalb ruhig gehalten, ohne Warnfarbe im Rahmen. */
/* Eigenbedarf — kleineres Feld, deutlich abgesetzt von der Hauptmenge. */
.mpw-wb-self{margin-top:16px;padding-top:16px;border-top:1px solid #eef2f1;}
.mpw-wb-self label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:#111416;}
.mpw-wb-self input{width:88px;height:40px;padding:6px 10px;border:1.5px solid #e0e0e0;border-radius:10px;
    font-size:15px;text-align:center;font-family:inherit;background:#fff;color:#111416;}

.mpw-payer-min{margin:12px 0 0;padding:12px 14px;background:#fffbeb;border:1px solid #f0b429;
    border-radius:10px;font-size:13px;line-height:1.55;color:#8a6100;}
.mpw-payer-min strong{display:block;margin-bottom:5px;}
.mpw-payer-min span{display:block;opacity:.85;}
.mpw-payer .mpw-payer-opt small{display:block;margin-top:3px;font-size:.79rem;line-height:1.5;color:#6b7472;}
.mpw-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;background:#fff;
    border:1px solid #dfe6e5;border-radius:14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;}
.mpw-check:has(input:checked){border-color:#E8924F;box-shadow:0 0 0 2px rgba(232,146,79,.18);}
.mpw-check input{margin:3px 0 0;flex:0 0 auto;}
.mpw-check strong{display:block;font-size:.92rem;color:#111416;}
.mpw-check small{display:block;margin-top:3px;font-size:.8rem;line-height:1.5;color:#6b7472;}
.mpw-stepper.is-off{opacity:.5;}
.mpw-later{margin:0 0 12px;padding:14px 16px;background:#fdf8ec;border:1px solid #f0e0bb;border-radius:14px;}
.mpw-later-head{display:block;margin-bottom:6px;font-family:'Akko',sans-serif;font-weight:700;font-size:.95rem;color:#8a6100;}
.mpw-later .mpw-lines{margin:0 0 8px;}
.mpw-later .mpw-line{border-bottom-color:#f0e6d2;}
.mpw-later .mpw-line dt{color:#8a7550;}
.mpw-later .mpw-line dd{color:#5f4400;}
.mpw-later .mpw-hint{color:#8a7550;}
.mpw-note{margin:0 0 12px;padding:11px 14px;background:#FAF8F3;border:1px solid #e6eceb;border-radius:12px;
    font-size:.78rem;line-height:1.55;color:#6b7472;}
.mpw-warn{margin:0 0 12px;padding:11px 14px;background:#fdecec;border:1px solid #f3cfcf;border-radius:12px;
    font-size:.8rem;line-height:1.5;color:#a32019;}
.mpw-flash{margin:0 28px 4px;padding:11px 14px;background:#fdecec;border:1px solid #f3cfcf;border-radius:12px;
    font-size:.85rem;color:#a32019;display:none;}
.mpw-flash.is-on{display:block;}

.mpw-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border:0;
    border-radius:999px;font-family:'Akko',sans-serif;font-size:.95rem;font-weight:600;line-height:1;
    cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;}
.mpw-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none;}
.mpw-primary{background:#E8924F;color:#111416;}
.mpw-primary:hover:not(:disabled){background:#E58436;transform:translateY(-1px);box-shadow:0 5px 14px rgba(232,146,79,.3);}
.mpw-ghost{background:#FAF8F3;color:#111416;}
.mpw-ghost:hover{background:#eceff0;}
.mpw-link{background:none;color:#3D7C85;text-decoration:underline;text-underline-offset:3px;padding:0 6px;}

button.mpw-launch{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 26px;border:0;
    border-radius:999px;background:#3D7C85;color:#fff;font-family:'Akko',sans-serif;font-size:1rem;
    font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease;}
button.mpw-launch:hover{background:#306168;transform:translateY(-1px);}

@media (max-width:560px){
    .mpw-overlay{padding:0;align-items:flex-end;}
    .mpw-box{max-width:100%;max-height:96vh;border-radius:22px 22px 0 0;}
    .mpw-box{max-height:96dvh;}
    .mpw-head{padding:22px 64px 0 20px;}
    .mpw-body{padding:18px 20px 16px;}
    .mpw-foot{padding:12px 20px calc(16px + env(safe-area-inset-bottom, 0px));}
    .mpw-foot .mpw-btn{flex:1 1 auto;}
    .mpw-foot .mpw-primary{margin-left:0;}
    .mpw-steps>li{font-size:0;gap:0;}
    .mpw-steps>li>span{font-size:.76rem;}
    .mpw-wb{flex-direction:column;}
}

/* Aufruf des Assistenten auf der Produktseite. */
.mpw-product-launch{margin:22px 0;}
.mpw-product-launch .mpw-launch{display:inline-block;padding:14px 30px;border:0;border-radius:999px;
    background:#E8924F;color:#111416 !important;font-family:'Akko',sans-serif;font-weight:700;
    font-size:16px;cursor:pointer;}
.mpw-product-launch .mpw-launch:hover{background:#E58025;}
.mpw-product-launch-hint{margin:10px 0 0;font-size:13px;color:#7a8380;line-height:1.55;}

/* v0.24.0 — Hinweis auf die Mengenstaffel der Arbeitshefte. */
.mpw-wb-bulk {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: 10px;
    background: #FBF0E7;
    color: #AE5612;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

/* v0.28.0 — Schnellkauf (Einzelabo): ein Fenster ohne Schritte. */
.mpw-overlay.is-quick .mpw-steps{display:none;}
.mpw-quick-feat{margin:0 0 18px;}
.mpw-quick-feat>li:last-child::before{background:#E8924F;}
.mpw-quick-total span small{display:block;margin-top:3px;font-family:'Akko',sans-serif;font-weight:600;
    font-size:.8rem;color:#AE5612;}
.mpw-quick-total b{white-space:nowrap;}
.mpw-quick-total b small{font-family:'Akko',sans-serif;font-weight:400;font-size:.8rem;color:#6b7472;}
.mpw-overlay.is-quick .mpw-foot .mpw-primary{min-width:180px;}
