/* !important: Das Design färbt sonst alle Knöpfe ein. */
.tmm-kauf { width:100%; margin-top:8px; }
button.tmm-rein { display:block !important; width:100% !important; height:44px !important; margin:0 !important; padding:0 8px !important; background:#6c5ce7 !important; color:#fff !important; border:0 !important; border-radius:10px !important; box-shadow:none !important; font-family:inherit !important; font-size:15px !important; font-weight:700 !important; line-height:1 !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer !important; }
button.tmm-rein:hover, button.tmm-rein:focus { background:#5a4bd1 !important; color:#fff !important; }

.tmm-schritt { display:flex; align-items:center; justify-content:space-between; gap:6px; width:100%; height:44px; }
.tmm-schritt .tmm-zahl { flex:1; min-width:0; text-align:center; color:#2a2160; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
button.tmm-ab, button.tmm-auf { flex:none !important; width:44px !important; height:44px !important; margin:0 !important; padding:0 !important; border-radius:10px !important; box-shadow:none !important; font-family:inherit !important; font-size:22px !important; font-weight:700 !important; line-height:1 !important; cursor:pointer !important; }
button.tmm-ab { background:#fff !important; color:#6c5ce7 !important; border:1.5px solid #6c5ce7 !important; }
button.tmm-ab:hover, button.tmm-ab:focus { background:#f3f1fe !important; color:#6c5ce7 !important; }
button.tmm-auf { background:#6c5ce7 !important; color:#fff !important; border:0 !important; }
button.tmm-auf:hover, button.tmm-auf:focus { background:#5a4bd1 !important; color:#fff !important; }
.tmm-laedt .tmm-kauf, .tmm-laedt .tmm-liste { opacity:.6; pointer-events:none; }

.tmm-offen { overflow:hidden; }
.tmm-schicht { position:fixed; inset:0; z-index:100000; display:flex; align-items:flex-end; justify-content:center; background:rgba(20,24,60,.45); }
.tmm-fenster { display:flex; flex-direction:column; width:100%; max-width:520px; max-height:82vh; background:#fff; color:#1f2a44; border-radius:18px 18px 0 0; box-shadow:0 -10px 40px rgba(20,24,60,.25); }
@media (min-width:821px) { .tmm-schicht { align-items:center; } .tmm-fenster { border-radius:18px; } }
.tmm-kopf { display:flex; align-items:center; gap:10px; padding:14px 12px 12px 18px; border-bottom:1px solid #eceef6; }
.tmm-titel { flex:1; min-width:0; color:#2a2160; font-size:16px; line-height:1.3; }
button.tmm-zu { flex:none !important; width:36px !important; height:36px !important; margin:0 !important; padding:0 !important; background:none !important; color:#5a6478 !important; border:0 !important; border-radius:50% !important; box-shadow:none !important; font-size:17px !important; line-height:1 !important; cursor:pointer !important; }
.tmm-liste { flex:1; min-height:0; overflow-y:auto; padding:4px 18px; -webkit-overflow-scrolling:touch; }
.tmm-zeile { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #f0f1f7; }
.tmm-zeile:last-child { border-bottom:0; }
.tmm-zeile.aus { opacity:.5; }
.tmm-zeile img { flex:none; width:56px; height:56px; border-radius:9px; object-fit:cover; background:#f3f4f8; }
.tmm-text { flex:1; min-width:0; }
.tmm-name { font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.tmm-preis { margin-top:3px; font-size:15px; font-weight:700; color:#111; }
.tmm-zeile.aus .tmm-preis { font-weight:400; color:#5a6478; }
.tmm-schritt.klein { flex:none; width:auto; gap:2px; height:38px; }
.tmm-schritt.klein .tmm-zahl { flex:none; min-width:24px; }
.tmm-schritt.klein button.tmm-ab, .tmm-schritt.klein button.tmm-auf { width:38px !important; height:38px !important; font-size:20px !important; }
button.tmm-auf.einzeln { width:38px !important; height:38px !important; font-size:20px !important; }
.tmm-fuss { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #eceef6; font-size:12px; color:#5a6478; }
button.tmm-fertig { flex:none !important; width:auto !important; height:44px !important; margin:0 !important; padding:0 24px !important; background:#2a2160 !important; color:#fff !important; border:0 !important; border-radius:10px !important; box-shadow:none !important; font-family:inherit !important; font-size:15px !important; font-weight:700 !important; text-transform:none !important; cursor:pointer !important; }
.tmm-meldung { position:fixed; left:12px; right:12px; bottom:70px; z-index:100001; max-width:480px; margin:0 auto; padding:12px 14px; background:#7f1d1d; color:#fff; border-radius:10px; font-size:14px; line-height:1.35; }
