/* myMealMate App-Styles (Quelle für npm run css:purge → styles.purged.css).
 * Fonts: css/fonts.css | Cookie: css/cookieconsent.css
 * Page-9-Layout: css/rezept-ansehen.css
 */
/* ========== CUSTOM APP STYLES ========== */

:root {
  --text-rgb: 26, 26, 26;
  --color-text: #1a1a1a;
}

/* Nicepage default paragraphs: remove bottom margin globally.
   (We remove the Design/Page%204_files CSS includes and carry the needed rule here.) */
p:not(.u-text-variant) {
  margin-bottom: 0 !important;
}

/* ---------------- Pantry overlay ---------------- */

.mm-pantry-ing-overlay__head-grid {
  display: grid;
  grid-template-columns: min(148px, 42%) minmax(0, 1fr);
  gap: 0 16px;
  align-items: start;
  margin-bottom: 0;
}

.mm-pantry-ing-overlay__head-grid--no-left {
  grid-template-columns: minmax(0, 1fr);
}

.mm-pantry-ing-overlay__head-grid--no-left .mm-pantry-ing-overlay__head-media {
  display: none;
}

.mm-pantry-ing-overlay__head-grid--no-left .mm-pantry-ing-overlay__head-body {
  grid-column: 1;
}

.mm-pantry-ing-overlay__head-media {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.mm-pantry-ing-overlay__head-body {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.mm-pantry-ing-overlay__preview-stack {
  position: relative;
  width: 100%;
  max-width: 148px;
}

.mm-pantry-ing-overlay__preview {
  width: 100%;
  max-width: 148px;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.mm-pantry-ing-overlay__preview[hidden] {
  display: none !important;
}

.mm-pantry-ing-overlay__preview-img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: min(48vh, 320px);
  object-fit: contain;
  vertical-align: middle;
}

.mm-pantry-ing-overlay__preview-generate {
  position: absolute;
  left: 6px;
  top: 6px;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.mm-pantry-ing-overlay__title-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.mm-pantry-ing-overlay__title-main {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.mm-pantry-ing-overlay__stock-actions {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}

.mm-pantry-ing-overlay__stock-actions .mm-ing-pantry-action-icon {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
  pointer-events: none;
}

.mm-pantry-ing-overlay__title-main > .mm-pantry-ing-overlay__title-layer {
  grid-column: 1;
  grid-row: 1;
}

.mm-pantry-ing-overlay__title-edit[hidden] {
  display: none !important;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel--inline {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-edit-row.mm-pantry-ing-overlay__title-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields {
  min-width: 0;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields--pantry-name .mm-edit-form__input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields .mm-edit-form__input {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields .mm-edit-form__input:focus {
  outline: none;
  border-color: rgba(0, 96, 180, 0.45);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(0, 96, 180, 0.12);
}

.mm-pantry-ing-overlay .mm-edit-form__label {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.72);
  margin: 0 0 4px;
}

.mm-pantry-ing-overlay .mm-edit-form__input,
.mm-pantry-ing-overlay select.mm-edit-form__input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 7px 10px;
  font-size: 0.92rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #fff;
  color: #1a1d24;
}

.mm-pantry-ing-overlay__variants-heading {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.72);
}

.mm-pantry-ing-overlay__variants-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(26, 29, 36, 0.85);
  word-break: break-word;
}

.mm-pantry-ing-overlay__variants-list > li + li {
  margin-top: 2px;
}

.mm-pantry-ing-overlay__variant-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.mm-pantry-ing-overlay__variant-text {
  flex: 1;
  min-width: 0;
}


.mm-pantry-ing-overlay__variant-split-btn,
.mm-pantry-ing-overlay__variant-shop-btn {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  align-self: center;
}

.mm-pantry-ing-overlay__footer {
  margin-top: 14px;
  padding-top: 0;
  border-top: none;
}

.mm-pantry-ing-overlay__footer--icon-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.mm-pantry-ing-overlay__left-tools {
  position: relative;
  margin-right: auto;
  display: inline-flex;
  align-items: center;
}

body.mm-theme-dark .mm-pantry-ing-overlay__merge-pop {
  background: #121722;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
}

body.mm-theme-dark .mm-pantry-ing-overlay__merge-pop-title {
  color: rgba(255, 255, 255, 0.72);
}

.mm-pantry-ing-overlay__icon-action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

/* Variante für Text-Buttons (z.B. Gast-Login-CTA) */
.mm-pantry-ing-overlay__icon-action.mm-pantry-ing-overlay__icon-action--wide {
  width: auto;
  height: auto;
  min-height: 2.5rem;
  padding: 0.62rem 0.95rem;
  white-space: normal;
  line-height: 1.15;
}

/* „Aus Vorrat löschen“: wirklich ausblenden (nicht nur disabled), inkl. Flex-Platz */

.mm-pantry-ing-overlay__icon-action:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
}

.mm-pantry-ing-overlay__icon-action:focus-visible {
  outline: none;
  border-color: rgba(90, 95, 105, 0.45);
  box-shadow: 0 0 0 2px rgba(90, 95, 105, 0.15);
}

.mm-pantry-ing-overlay__icon-action:disabled {
  opacity: 0.55;
  cursor: default;
}

.mm-pantry-ing-overlay__icon-action-img {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.mm-pantry-ing-overlay__icon-action-img img {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}

.mm-pantry-ing-overlay__icon-action-text {
  display: inline-block;
  white-space: nowrap;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  pointer-events: none;
}

/* Allow the merge-toggle button to fit text label */

.mm-pantry-ing-overlay__icon-action--dismiss:hover {
  background: rgba(220, 53, 69, 0.08);
  border-color: rgba(220, 53, 69, 0.28);
}

.mm-pantry-ing-overlay__icon-action--generate:hover:not(:disabled) {
  background: rgba(13, 110, 253, 0.08);
  border-color: rgba(13, 110, 253, 0.28);
}

/* Dark mode basics for overlay icon buttons */
body.mm-theme-dark .mm-pantry-ing-overlay__icon-action {
  background: #121722;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
body.mm-theme-dark .mm-pantry-ing-overlay__icon-action:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.22);
}
body.mm-theme-dark .mm-pantry-ing-overlay__icon-action--dismiss:hover {
  background: rgba(220, 53, 69, 0.15);
  border-color: rgba(248, 113, 113, 0.35);
}
body.mm-theme-dark .mm-pantry-ing-overlay__icon-action--generate:hover:not(:disabled) {
  background: rgba(96, 165, 250, 0.12);
  border-color: rgba(96, 165, 250, 0.38);
}
/* Farbpalette: Schrift / Kontrast / Menü-Hintergrund */
:root {
  --color-text: #1f3f8f;
  --color-neutral: #5f6f88;
  --color-contrast: #2d7ff9;
  --color-contrast-hover: #1f6fe6;
  --text-rgb: 31, 63, 143;
  --contrast-rgb: 45, 127, 249;
  /* Menü-Fläche = Seitenhintergrund (kein eigener Farbrahmen) */
  --menu-bg: var(--page-bg);
  /* Legacy-Namen: Akzente = Kontrastfarbe (Buttons, Icons, Häkchen) */
  --brand-primary: var(--color-contrast);
  --brand-primary-hover: var(--color-contrast-hover);
  --brand-rgb: 45, 127, 249;
  --page-bg: #ffffff;
  /* Einheitliche maximale Inhaltsbreite auf großen Viewports */
  --mm-layout-max: 1180px;
}

/* Nicepage: Sheet-Breiten (Standard war u. a. 1140px XL) auf App-Layout anheben; max-width:100% verhindert Überlauf */
html.u-responsive-xl {
  --theme-sheet-width-lg: var(--mm-layout-max);
  --theme-sheet-width-xl: var(--mm-layout-max);
  --theme-sheet-width-xxl: var(--mm-layout-max);
}

.u-sheet {
  max-width: 100%;
  box-sizing: border-box;
}

/* html: Klasse kann per Head-Script vor erstem Paint gesetzt werden; body: vom Server */
html.mm-theme-dark,
body.mm-theme-dark {
  --color-text: #e7ecf6;
  --color-neutral: #a4afc2;
  --color-contrast: #78a9ff;
  --color-contrast-hover: #92bbff;
  --text-rgb: 231, 236, 246;
  --contrast-rgb: 120, 169, 255;
  --page-bg: #121419;
  --menu-bg: #171b22;
}

html.mm-theme-dark,
html.mm-theme-dark body,
body.mm-theme-dark,
body.mm-theme-dark .row,
body.mm-theme-dark html {
  background: #121419 !important;
  color: #e7ecf6 !important;
}

body.mm-theme-dark .u-white,
body.mm-theme-dark .mm-cook-card,
body.mm-theme-dark .rezept-add-option,
body.mm-theme-dark .rezept-import-banner,
body.mm-theme-dark .mm-ai-stat,
body.mm-theme-dark .mm-cook-box {
  background: #1b2029 !important;
  color: #e7ecf6 !important;
  border-color: rgba(255,255,255,0.12) !important;
}

body.mm-theme-dark .u-text,
body.mm-theme-dark label,
body.mm-theme-dark p,
body.mm-theme-dark h1,
body.mm-theme-dark h2,
body.mm-theme-dark h3,
body.mm-theme-dark h4 {
  color: #e7ecf6 !important;
}

/* Nicepage: Link-Buttons mit u-text-body-color nutzen #111 !important — im Darkmode lesbar */
body.mm-theme-dark a.u-button-style.u-text-body-color,
body.mm-theme-dark a.u-button-style.u-text-body-color[class*="u-border-"],
body.mm-theme-dark li.active > a.u-button-style.u-text-body-color,
body.mm-theme-dark li.active > a.u-button-style.u-text-body-color[class*="u-border-"] {
  color: #9fc2ff !important;
}

body.mm-theme-dark a.u-button-style.u-text-body-color:hover,
body.mm-theme-dark a.u-button-style.u-text-body-color[class*="u-border-"]:hover,
body.mm-theme-dark a.u-button-style.u-text-body-color:focus,
body.mm-theme-dark a.u-button-style.u-text-body-color[class*="u-border-"]:focus,
body.mm-theme-dark a.u-button-style.u-button-style.u-text-body-color:active,
body.mm-theme-dark a.u-button-style.u-button-style.u-text-body-color[class*="u-border-"]:active,
body.mm-theme-dark a.u-button-style.u-button-style.u-text-body-color.active,
body.mm-theme-dark a.u-button-style.u-button-style.u-text-body-color[class*="u-border-"].active {
  color: #c5d9ff !important;
}

body.mm-theme-dark input,
body.mm-theme-dark textarea,
body.mm-theme-dark select {
  background: #11151c !important;
  color: #e7ecf6 !important;
  border-color: rgba(255,255,255,0.22) !important;
}

body.mm-theme-dark .site-header,
body.mm-theme-dark .site-nav__offcanvas {
  background: #171b22 !important;
}

body.mm-theme-dark .site-header__sheet {
  background: #171b22 !important;
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35) !important;
}

/* Menü Darkmode: Wortmarke / Burger; Desktop-Leiste wie Fußzeilen-Links; Panel = Pillen */
body.mm-theme-dark .site-header__tagline,
body.mm-theme-dark .site-nav__burger {
  color: #e7ecf6 !important;
}

/* Off-Canvas: graue Buttons, Hover Gold */
body.mm-theme-dark .site-nav__summary--panel,
body.mm-theme-dark .site-nav__link--panel {
  color: #f4f4f5 !important;
  background: linear-gradient(180deg, #6b6f76 0%, #4a4e54 100%) !important;
}

body.mm-theme-dark .site-nav__link--panel:hover,
body.mm-theme-dark .site-nav__link--panel:focus,
body.mm-theme-dark .site-nav__summary--panel:hover,
body.mm-theme-dark .site-nav__summary--panel:focus {
  color: #ffffff !important;
  background: linear-gradient(180deg, #eeb16d 0%, #c98a45 100%) !important;
}

/* Desktop-Kopfzeile: wie .site-legal-footer__link (heller Text, Hover blassblau) */
body.mm-theme-dark .site-nav__link--desktop,
body.mm-theme-dark .site-nav__summary--desktop {
  color: #e7ecf6 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mm-theme-dark .site-nav__link--desktop:hover,
body.mm-theme-dark .site-nav__link--desktop:focus,
body.mm-theme-dark .site-nav__summary--desktop:hover,
body.mm-theme-dark .site-nav__summary--desktop:focus {
  color: #9fc2ff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Desktop-Dropdown: dunkles Panel → heller Text, Hover Gold-Pille */
body.mm-theme-dark .site-nav__submenu--desktop .site-nav__link--desktop {
  color: #f4f4f5 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mm-theme-dark .site-nav__submenu--desktop .site-nav__link--desktop:hover,
body.mm-theme-dark .site-nav__submenu--desktop .site-nav__link--desktop:focus {
  color: #ffffff !important;
  background: linear-gradient(180deg, #eeb16d 0%, #c98a45 100%) !important;
}

body.mm-theme-dark .site-nav__lang-link.is-active {
  box-shadow: 0 0 0 2px rgba(159, 194, 255, 0.75);
}

body.mm-theme-dark .site-nav__lang-link:focus-visible {
  box-shadow: 0 0 0 2px rgba(111, 212, 197, 0.65);
}

body.mm-theme-dark .site-nav__panel {
  background: #171b22 !important;
}

body.mm-theme-dark .site-nav__item {
  border-bottom-color: rgba(255,255,255,0.10) !important;
}

/* Sektionen/Flächen mit Framework-Hintergründen */
body.mm-theme-dark .u-grey-5,
body.mm-theme-dark .u-section-4,
body.mm-theme-dark .u-body {
  background: #121419 !important;
}

/* Rezept-Detail-Flächen, die nicht unter .mm-cook-box fallen */
body.mm-theme-dark .mm-cook-steps,
body.mm-theme-dark .mm-cook-ing-nw,
body.mm-theme-dark .mm-cook-ingredients,
body.mm-theme-dark .mm-cook-ingredients__list,
body.mm-theme-dark .mm-nw__table,
body.mm-theme-dark .mm-nw__table thead,
body.mm-theme-dark .mm-nw__table tbody,
body.mm-theme-dark .mm-nw__table tr,
body.mm-theme-dark .mm-nw__table th,
body.mm-theme-dark .mm-nw__table td {
  background: #1b2029 !important;
  color: #e7ecf6 !important;
  border-color: rgba(255,255,255,0.10) !important;
}

/* KI-Nutzung: helle Tabellenköpfe/Karten im Darkmode neutralisieren */
body.mm-theme-dark .mm-ai-table,
body.mm-theme-dark .mm-ai-table thead,
body.mm-theme-dark .mm-ai-table tbody,
body.mm-theme-dark .mm-ai-table tr,
body.mm-theme-dark .mm-ai-table th,
body.mm-theme-dark .mm-ai-table td,
body.mm-theme-dark .mm-ai-table thead th,
body.mm-theme-dark .mm-ai-img-modal__panel,
body.mm-theme-dark .mm-ai-img-modal__head,
body.mm-theme-dark .mm-ai-img-modal__body {
  background: #1b2029 !important;
  color: #e7ecf6 !important;
  border-color: rgba(255,255,255,0.12) !important;
}

/* Vorratskammer: Ladeanzeige bis Taxonomie + Abteilungskacheln bereit sind */
.mm-pantry-board-loading {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 15px;
  margin: 0;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.16);
  box-sizing: border-box;
}

.mm-pantry-board-loading[hidden] {
  display: none !important;
}

.mm-pantry-board-loading__text {
  font-size: 0.9rem;
  color: var(--color-text);
  opacity: 0.88;
}

.mm-pantry-board-loading__spinner {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-top-color: rgba(26, 26, 26, 0.55);
  border-radius: 50%;
  animation: mm-pantry-board-loading-spin 0.72s linear infinite;
}

@keyframes mm-pantry-board-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

body.mm-theme-dark .mm-pantry-board-loading {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-pantry-board-loading__spinner {
  border-color: rgba(255, 255, 255, 0.14);
  border-top-color: rgba(231, 236, 246, 0.85);
}

/* Vorratskammer: Abteilungen → Vorräte (Kachelzeilen) */
.mm-pantry-dept-wrap {
  margin-top: 14px;
}

.mm-pantry-dept-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 10px;
}

/* Unter der Seiten-H1 „Vorräte“ (.mm-p9-hero-unique-title, ~1.9–2.6rem): klar kleiner halten (Nicepage h2 sonst oft größer). */
.mm-pantry-page .mm-pantry-dept-wrap h2.mm-pantry-dept-head__title {
  font-size: clamp(0.75rem, 1.85vw, 0.875rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  letter-spacing: 0.01em;
  color: var(--color-text);
}

.mm-pantry-dept-head__controls {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px 16px;
  width: 100%;
}

/* „Neue Zutat hinzufügen…“: gleiche Optik wie Overlay-Textaktionen („Zuordnen…“), rechts in der Kopfzeile */
#mm-pantry-board-add-ingredient.mm-pantry-ing-overlay__icon-action {
  width: auto;
  padding: 0 12px;
  margin-left: auto;
}

.mm-pantry-dept-head__switch {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}

.mm-pantry-dept-add-ingredient {
  flex: 0 0 auto;
  white-space: nowrap;
}


.mm-pantry-dept-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mm-pantry-dept-row {
  display: grid;
  grid-template-columns: minmax(180px, 260px) 1fr;
  gap: 12px;
  align-items: start;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.08);
}

body.mm-theme-dark .mm-pantry-dept-row {
  border-top-color: rgba(255,255,255,0.10);
}

.mm-pantry-dept-row__label {
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.25;
  padding: 6px 10px;
  border-radius: 12px;
  /* Neutral wie Kacheln / Zeilentrenner — kein Marken-Blau aus --contrast-rgb */
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

body.mm-theme-dark .mm-pantry-dept-row__label {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

.mm-pantry-dept-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
}

.mm-pantry-dept-filter {
  flex: 1 1 260px;
  max-width: 320px;
  height: 2.5rem;
  padding: 10px 12px;
  border-radius: 12px;
}

@media (max-width: 520px) {
  .mm-pantry-dept-head__controls {
    flex-wrap: wrap;
  }
  .mm-pantry-dept-head__controls #mm-pantry-board-add-ingredient.mm-pantry-ing-overlay__icon-action {
    margin-left: 0;
    align-self: flex-end;
  }
  .mm-pantry-dept-filter {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.mm-pantry-stock-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,0.06);
}

body.mm-theme-dark .mm-pantry-stock-tile {
  /* Nur background-color: „background:“ würde background-image von --has-img-Kacheln löschen */
  background-color: #1b2029;
  border-color: rgba(255,255,255,0.14);
  box-shadow: 0 10px 28px rgba(0,0,0,0.28);
}

.mm-pantry-stock-tile--has-img {
  background-image: var(--mm-pantry-tile-bg);
  background-size: cover;
  background-position: center;
}

/* Nicht vorrätig: Foto als SW, nur die Bildebene — Text bleibt farbig */
.mm-pantry-stock-tile--missing-sw.mm-pantry-stock-tile--has-img {
  background-image: none;
}

.mm-pantry-stock-tile--missing-sw.mm-pantry-stock-tile--has-img::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--mm-pantry-tile-bg);
  background-size: cover;
  background-position: center;
  filter: grayscale(1);
}

.mm-pantry-stock-tile--missing-sw.mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__inner {
  position: relative;
  z-index: 1;
}

.mm-pantry-stock-tile--missing-sw:not(.mm-pantry-stock-tile--has-img) {
  opacity: 0.88;
  border-style: dashed;
}

.mm-pantry-stock-tile__inner {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 10px 12px;
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.82) 55%, rgba(255,255,255,0.90) 100%);
}

body.mm-theme-dark .mm-pantry-stock-tile__inner {
  background: linear-gradient(180deg, rgba(27,32,41,0.92) 0%, rgba(27,32,41,0.78) 55%, rgba(27,32,41,0.92) 100%);
}

/* Zutatenfoto ohne Overlay / ohne Transparenz über dem Bild */
.mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__inner {
  background: transparent;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__inner {
  background: transparent;
}

.mm-pantry-stock-tile__head {
  font-weight: 700;
  letter-spacing: 0.15px;
  line-height: 1.15;
  font-size: 12px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  /* Halo / Lesbarkeit auf hellem Kartenhintergrund */
  text-shadow:
    0 0 2px rgba(255, 255, 255, 1),
    0 0 10px rgba(255, 255, 255, 0.85),
    0 0 18px rgba(255, 255, 255, 0.5),
    0 1px 3px rgba(15, 23, 42, 0.22);
}

body.mm-theme-dark .mm-pantry-stock-tile:not(.mm-pantry-stock-tile--has-img) .mm-pantry-stock-tile__head {
  text-shadow:
    0 0 2px rgba(27, 32, 41, 1),
    0 0 10px rgba(27, 32, 41, 0.9),
    0 0 18px rgba(27, 32, 41, 0.55),
    0 1px 3px rgba(0, 0, 0, 0.65);
}

.mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__head {
  text-shadow:
    0 0 4px rgba(255, 255, 255, 1),
    0 0 12px rgba(255, 255, 255, 0.98),
    0 0 22px rgba(255, 255, 255, 0.85),
    0 0 34px rgba(255, 255, 255, 0.55),
    0 1px 4px rgba(0, 0, 0, 0.75);
}

body.mm-theme-dark .mm-pantry-stock-tile__ing-id {
  color: rgba(231, 236, 246, 0.96);
  /* Dunkle Kontur: Lesbarkeit auf hellen Bildbereichen */
  -webkit-text-stroke: min(0.11em, 2px) rgba(15, 20, 28, 0.92);
  paint-order: stroke fill;
  text-shadow:
    0 0 3px rgba(15, 20, 28, 0.65),
    0 0 12px rgba(15, 20, 28, 0.45),
    0 1px 4px rgba(0, 0, 0, 0.55);
}

body.mm-theme-dark .mm-pantry-stock-tile__subs {
  color: rgba(231,236,246,0.78);
}

/* Darkmode: Zutatenfotos sind überwiegend hell — Typo & Chips wie Standardansicht (nicht Seiten-Dark-UI) */
body.mm-theme-dark .mm-pantry-stock-tile--has-img {
  color: rgba(26, 26, 26, 0.92);
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__head {
  color: rgba(26, 26, 26, 0.95) !important;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__subs {
  color: rgba(26, 26, 26, 0.78) !important;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__ing-id {
  color: rgba(15, 23, 42, 0.92);
  -webkit-text-stroke: min(0.11em, 2px) rgba(255, 255, 255, 0.96);
  paint-order: stroke fill;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.85),
    0 0 10px rgba(255, 255, 255, 0.55),
    0 1px 4px rgba(0, 0, 0, 0.45);
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__master-link {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(15, 23, 42, 0.18);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__master-link--unlink {
  border-color: rgba(185, 28, 28, 0.35);
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-pantry-stock-tile__gen-img {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(15, 23, 42, 0.16);
  color: #1a1d24;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn {
  border-color: rgba(198, 40, 40, 0.45);
  background: rgba(198, 40, 40, 0.08);
  color: #b71c1c;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn.mm-ing-pantry-action-btn--ok {
  border-color: rgba(46, 125, 50, 0.55);
  background: rgba(46, 125, 50, 0.12);
  color: #1b5e20;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn.mm-ing-pantry-action-btn--ok:hover,
body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn.mm-ing-pantry-action-btn--ok:focus {
  background: rgba(46, 125, 50, 0.14);
  border-color: rgba(46, 125, 50, 0.65);
  color: #1b5e20;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn.mm-ing-pantry-action-btn--ok:focus-visible {
  box-shadow: 0 0 0 2px rgba(46, 125, 50, 0.28);
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn:hover,
body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn:focus {
  background: rgba(198, 40, 40, 0.16);
  border-color: rgba(198, 40, 40, 0.65);
  color: #8b0000;
}

body.mm-theme-dark .mm-pantry-stock-tile--has-img .mm-ing-pantry-action-btn:focus-visible {
  box-shadow: 0 0 0 2px rgba(198, 40, 40, 0.35);
}

/* Vorrat-Kachel: Zutat zum Vorrat hinzufügen / aus Vorrat entfernen (wie Overlay-Home-Button) */
.mm-pantry-stock-tile__home.mm-ing-pantry-action-btn {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 5;
  width: 26px;
  height: 26px;
  min-width: 26px;
  padding: 0;
  pointer-events: auto;
}

.mm-pantry-stock-tile__home.mm-ing-pantry-action-btn .mm-ing-pantry-home-icon.mm-ing-pantry-action-icon {
  width: 18px;
  height: 18px;
}

.mm-pantry-stock-tile__shop.mm-ing-pantry-action-btn {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 5;
  width: 26px;
  height: 26px;
  min-width: 26px;
  padding: 0;
  pointer-events: auto;
}

.mm-pantry-stock-tile__shop.mm-ing-pantry-action-btn .mm-ing-pantry-shop-icon.mm-ing-pantry-action-icon {
  width: 18px;
  height: 18px;
}

/* Grunddatensatz: Check-Icon oben rechts auf der Kachel (nur wenn Zutat noch nicht verknüpft) */

body.mm-theme-dark .mm-pantry-stock-tile__master-link {
  background: rgba(27, 32, 41, 0.94);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-pantry-stock-tile__master-link--unlink {
  border-color: rgba(248, 113, 113, 0.45);
}

/* Vorrats-Übersicht: Wenn kein Bild vorhanden ist, "Bild erzeugen" vertikal zentrieren */

body.mm-theme-dark .mm-pantry-stock-tile__gen-img {
  background: rgba(27, 32, 41, 0.94);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.mm-pantry-ing-overlay {
  position: fixed;
  inset: 0;
  z-index: 9900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  box-sizing: border-box;
}

.mm-pantry-ing-overlay[hidden] {
  display: none !important;
}

.mm-pantry-ing-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 18, 24, 0.52);
  cursor: pointer;
}

.mm-pantry-ing-overlay__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 460px;
  max-height: min(92vh, 680px);
  overflow: auto;
  padding: 1.25rem 1.35rem 1.4rem;
  border-radius: 18px;
  background: #fff;
  color: #1a1d24;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.22);
  box-sizing: border-box;
}

.mm-pantry-ing-overlay__head-grid {
  display: grid;
  grid-template-columns: min(148px, 42%) minmax(0, 1fr);
  gap: 0 16px;
  align-items: start;
  margin-bottom: 0;
}

.mm-pantry-ing-overlay__head-grid--no-left {
  grid-template-columns: minmax(0, 1fr);
}

.mm-pantry-ing-overlay__head-grid--no-left .mm-pantry-ing-overlay__head-media {
  display: none;
}

.mm-pantry-ing-overlay__head-grid--no-left .mm-pantry-ing-overlay__head-body {
  grid-column: 1;
}

/* DOM: zuerst Textspalte (Fokusreihenfolge), optisch links: Bild (Spalte 1) */
.mm-pantry-ing-overlay__head-media {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  align-self: start;
}

.mm-pantry-ing-overlay__head-body {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.mm-pantry-ing-overlay__preview-stack {
  position: relative;
  width: 100%;
  max-width: 148px;
}

/* Platz für Foto-Neu-Button, wenn noch kein Bild geladen ist */
.mm-pantry-ing-overlay__preview-stack:has(#mm-pantry-ing-overlay-preview[hidden]) {
  min-height: 2.85rem;
}

.mm-pantry-ing-overlay__preview-generate {
  position: absolute;
  left: 6px;
  top: 6px;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.mm-pantry-ing-overlay__title-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.mm-pantry-ing-overlay__title-main {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

/* Bearbeitungsmodus: kein grauer Titel-Button-Hintergrund im Stack */

.mm-pantry-ing-overlay__title-main > .mm-pantry-ing-overlay__title-layer {
  grid-column: 1;
  grid-row: 1;
}

.mm-pantry-ing-overlay__stock-actions {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}

.mm-pantry-ing-overlay__stock-actions .mm-ing-pantry-action-icon {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
  pointer-events: none;
}

.mm-pantry-ing-overlay__title-edit {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.mm-pantry-ing-overlay__title-edit[hidden] {
  display: none !important;
}

/* Hauptwort-Zeile wie Rezepttitel (rezept-bearbeiten: mm-meta-inline__panel-edit-row) */
.mm-pantry-ing-overlay .mm-meta-inline__panel--inline {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

/* Titelfeld allein (Bestätigung unten rechts); optional altes 2-Spalten-Layout wo nötig */
.mm-pantry-ing-overlay .mm-meta-inline__panel-edit-row.mm-pantry-ing-overlay__title-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  align-items: center;
  gap: 0;
  width: 100%;
  min-width: 0;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-edit-row:not(.mm-pantry-ing-overlay__title-input-row) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields {
  min-width: 0;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields--pantry-name .mm-edit-form__input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields .mm-edit-form__input {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
}

.mm-pantry-ing-overlay .mm-meta-inline__panel-fields .mm-edit-form__input:focus {
  outline: none;
  border-color: rgba(0, 96, 180, 0.45);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(0, 96, 180, 0.12);
}

.mm-pantry-ing-overlay__preview {
  width: 100%;
  max-width: 148px;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.mm-pantry-ing-overlay__preview[hidden] {
  display: none !important;
}

.mm-pantry-ing-overlay__preview-img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: min(48vh, 320px);
  object-fit: contain;
  vertical-align: middle;
}

.mm-pantry-ing-overlay__footer {
  margin-top: 14px;
  padding-top: 0;
  border-top: none;
}

.mm-pantry-ing-overlay__footer--icon-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.mm-pantry-ing-overlay__icon-action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.mm-pantry-ing-overlay__icon-action:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
}

.mm-pantry-ing-overlay__icon-action:focus-visible {
  outline: none;
  border-color: rgba(90, 95, 105, 0.45);
  box-shadow: 0 0 0 2px rgba(90, 95, 105, 0.15);
}

.mm-pantry-ing-overlay__icon-action:disabled {
  opacity: 0.55;
  cursor: default;
}

.mm-pantry-ing-overlay__icon-action-img {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.mm-pantry-ing-overlay__icon-action-img img {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}

.mm-pantry-ing-overlay__icon-action--dismiss:hover {
  background: rgba(220, 53, 69, 0.08);
  border-color: rgba(220, 53, 69, 0.28);
}

.mm-pantry-ing-overlay__icon-action--generate:hover:not(:disabled) {
  background: rgba(13, 110, 253, 0.08);
  border-color: rgba(13, 110, 253, 0.28);
}

.mm-pantry-ing-overlay .mm-edit-form__label {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.72);
  margin: 0 0 4px;
}

.mm-pantry-ing-overlay .mm-edit-form__input,
.mm-pantry-ing-overlay select.mm-edit-form__input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 7px 10px;
  font-size: 0.92rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #fff;
  color: #1a1d24;
}

.mm-pantry-ing-overlay__block {
  margin-bottom: 14px;
}

.mm-pantry-ing-overlay__variants-block.mm-pantry-ing-overlay__block {
  margin-bottom: 0;
}

.mm-pantry-ing-overlay__variants-heading {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.72);
}

.mm-pantry-ing-overlay__variants-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(26, 29, 36, 0.85);
  word-break: break-word;
}

.mm-pantry-ing-overlay__variants-list > li + li {
  margin-top: 2px;
}

.mm-pantry-ing-overlay__variants-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.mm-pantry-ing-overlay__variants-row .mm-pantry-ing-overlay__variants-list {
  flex: 1;
  min-width: 0;
}

.mm-pantry-ing-overlay__variant-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.mm-pantry-ing-overlay__variant-text {
  flex: 1;
  min-width: 0;
}

.mm-pantry-ing-overlay__variant-text.mm-pantry-muted {
  font-size: 0.78rem;
  line-height: 1.35;
  margin: 0;
  color: rgba(26, 26, 26, 0.58);
}

.mm-pantry-ing-overlay__variant-shop-btn {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  align-self: center;
}

.mm-pantry-ing-overlay__variant-split-btn {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  align-self: center;
}

.mm-pantry-ing-overlay__variants-block {
  padding-top: 0;
}

/* Schreibweisen: unter Bild beginnen, linksbündig */
.mm-pantry-ing-overlay__variants-block--under-media {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
}

.mm-pantry-ing-overlay__recipes-link-block--under-media {
  grid-column: 1 / -1;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
}

.mm-pantry-ing-overlay__recipes-link-target {
  font-size: 0.9rem;
  line-height: 1.45;
  word-break: break-word;
}

.mm-pantry-ing-overlay__head-grid:has(#mm-pantry-ing-overlay-variants-wrap:not([hidden])) .mm-pantry-ing-overlay__recipes-link-block--under-media {
  grid-row: 3;
}

.mm-pantry-ing-overlay__head-grid:not(:has(#mm-pantry-ing-overlay-variants-wrap:not([hidden]))) .mm-pantry-ing-overlay__recipes-link-block--under-media {
  grid-row: 2;
}

body.mm-theme-dark .mm-pantry-ing-overlay__dialog {
  background: #1b2029;
  color: #e7ecf6;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.55);
}

body.mm-theme-dark .mm-pantry-ing-overlay__title-btn {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.14);
}

body.mm-theme-dark .mm-pantry-ing-overlay__title-btn:hover {
  background: rgba(255, 255, 255, 0.09);
}

body.mm-theme-dark .mm-pantry-ing-overlay .mm-edit-form__label,
body.mm-theme-dark .mm-pantry-ing-overlay__variants-heading {
  color: rgba(231, 236, 246, 0.75);
}

body.mm-theme-dark .mm-pantry-ing-overlay .mm-edit-form__input,
body.mm-theme-dark .mm-pantry-ing-overlay select.mm-edit-form__input {
  background: #121722;
  border-color: rgba(255, 255, 255, 0.16);
  color: #e7ecf6;
}

body.mm-theme-dark .mm-pantry-ing-overlay .mm-meta-inline__panel-fields .mm-edit-form__input {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}

body.mm-theme-dark .mm-pantry-ing-overlay .mm-meta-inline__panel-fields .mm-edit-form__input:focus {
  border-color: rgba(100, 160, 220, 0.55);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 2px rgba(100, 160, 220, 0.18);
}

body.mm-theme-dark .mm-pantry-ing-overlay__variants-list {
  color: rgba(231, 236, 246, 0.86);
}

body.mm-theme-dark .mm-pantry-ing-overlay__variant-text.mm-pantry-muted {
  color: rgba(231, 236, 246, 0.62);
}

body.mm-theme-dark .mm-pantry-ing-overlay__preview {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.28);
}

body.mm-theme-dark .mm-pantry-ing-overlay__footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

body.mm-theme-dark .mm-pantry-ing-overlay__icon-action {
  background: #121722;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-pantry-ing-overlay__icon-action:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.22);
}

body.mm-theme-dark .mm-pantry-ing-overlay__icon-action--dismiss:hover {
  background: rgba(220, 53, 69, 0.15);
  border-color: rgba(248, 113, 113, 0.35);
}

body.mm-theme-dark .mm-pantry-ing-overlay__icon-action--generate:hover:not(:disabled) {
  background: rgba(96, 165, 250, 0.12);
  border-color: rgba(96, 165, 250, 0.38);
}

body.mm-theme-dark .mm-pantry-ing-overlay__pantry-delete {
  background: #121722;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-pantry-ing-overlay__pantry-delete:hover:not(:disabled) {
  background: rgba(220, 53, 69, 0.12);
  border-color: rgba(248, 113, 113, 0.38);
}

body.mm-theme-dark .mm-pantry-ing-overlay__pantry-delete img {
  filter: invert(1) brightness(1.05);
  opacity: 0.92;
}

body.mm-theme-dark .mm-pantry-ing-overlay__preview-generate {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}


@media (max-width: 860px) {
  .mm-pantry-dept-row {
    grid-template-columns: 1fr;
  }
  .mm-pantry-dept-row__label {
    width: fit-content;
  }
}

/* Karten/Platzhalter in Übersichten */
body.mm-theme-dark .mm-u-cardimg--placeholder,
body.mm-theme-dark .u-image {
  background-color: #1b2029 !important;
}

body.mm-theme-dark .mm-cook-notes {
  background: #1b2029 !important;
  color: #e7ecf6 !important;
  border-color: rgba(255,255,255,0.12) !important;
}

/* Zutatenliste Darkmode: neutral nur wenn Vorratsabgleich aus (sonst !important vs. rot/grün) */
body.mm-theme-dark .mm-cook-box--ingredients .u-text,
body.mm-theme-dark .mm-cook-steps .u-text,
body.mm-theme-dark .mm-cook-box--ingredients .mm-cook-ingredients:not(.mm-pantry-match--on) .mm-ing-col,
body.mm-theme-dark .mm-cook-box--ingredients .mm-cook-ingredients:not(.mm-pantry-match--on) .mm-ing-line,
body.mm-theme-dark .mm-cook-box--ingredients .mm-cook-ingredients:not(.mm-pantry-match--on) .mm-ing-kcal-wrap,
body.mm-theme-dark .mm-cook-box--ingredients .mm-cook-ingredients:not(.mm-pantry-match--on) .mm-ing-kcal-wrap * {
  color: #e7ecf6 !important;
}

/* Rezeptansicht: Vorrat-Abgleich (Toggle-Zeile) */
.mm-cook-pantry-match {
  --mm-pantry-pill-active: #c2185b;
  --mm-pantry-pill-active-hover: #ad1457;
  --mm-pantry-pill-inactive-bg: #ececec;
  --mm-pantry-pill-inactive-border: #d5d5d5;
  --mm-pantry-pill-inactive-text: #2a2a2a;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 14px;
  width: 100%;
  box-sizing: border-box;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mm-cook-pantry-match .mm-cook-step-ing-toggle {
  margin-left: 0;
}

.mm-cook-pantry-match__toggle {
  margin: 0;
}

/* Vorratsabgleich: eine Farbe pro Zeile — gesamter Zutatentext (Menge, Name, kcal) */
.mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='1'] .mm-ing-row,
.mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='1'] .mm-ing-row * {
  color: #2e7d32 !important;
}

.mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='0'] .mm-ing-row,
.mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='0'] .mm-ing-row * {
  color: #c62828 !important;
}

body.mm-theme-dark .mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='1'] .mm-ing-row,
body.mm-theme-dark .mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='1'] .mm-ing-row * {
  color: #81c784 !important;
}

body.mm-theme-dark .mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='0'] .mm-ing-row,
body.mm-theme-dark .mm-cook-ingredients.mm-pantry-match--on .mm-cook-ingredients__item[data-mm-ing-pantry='0'] .mm-ing-row * {
  color: #ef9a9a !important;
}

body.mm-theme-dark .mm-cook-pantry-match {
  border-top-color: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-cook-step-ing-toggle__text,
body.mm-theme-dark .mm-cook-steps .mm-cook-step__text,
body.mm-theme-dark .mm-cook-steps .mm-cook-step__num::before,
body.mm-theme-dark .mm-cook-steps .mm-cook-step__zutaten,
body.mm-theme-dark .mm-cook-steps .mm-cook-step__zutaten * {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-cook-steps .mm-cook-step__kochmodus,
body.mm-theme-dark .mm-cook-steps .mm-cook-step__kochmodus * {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-cook-steps .mm-cook-step__kochmodus .mm-kochmodus-km {
  color: rgba(231, 236, 246, 0.72) !important;
}

body.mm-theme-dark a {
  color: #9fc2ff;
}

/* Nicepage sets body{overflow-y:clip}; allow scrolling */
html {
  overflow-y: auto !important;
}
body {
  overflow-y: auto !important;
}

/* Kein Browser-Default-Abstand oberhalb der Navigation */
html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

.site {
  background: var(--page-bg);
  color: var(--color-text);
  margin: 0;
  padding: 0;
}

/* Volle Bildschirmbreite (Nicepage/Page-4: kein max-width-„Kasten“) */
html {
  min-height: 100%;
  /* Kein harter Weißstreifen unter kurzen Seiten (u-grey-5 liegt näher als #fff) */
  background: #e8e8e8;
}

html,
body.site {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body.site {
  min-height: 100vh;
  box-sizing: border-box;
  /* Überdeckt .site { background: var(--page-bg) }, damit kein weißer Streifen unter dem Inhalt */
  background: #e8e8e8;
}

/* Weicher Übergang: 20px zwischen hellem Inhalt und Seitenhintergrund (#e8e8e8) */
.mm-page-footer-tone {
  display: block;
  height: 20px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  flex-shrink: 0;
  background: #f2f2f2;
}

body.mm-theme-dark .mm-page-footer-tone {
  background: #161b22;
}

/* Globale Fußzeile (Impressum / Datenschutz / AGB), cms.php mm_site_legal_footer_html */
.site-legal-footer {
  box-sizing: border-box;
  width: 100%;
  padding: 18px 16px 10px;
  margin: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  background: var(--page-bg);
}

.site-legal-footer__nav {
  max-width: min(100%, var(--mm-layout-max));
  margin: 0 auto;
}

.site-legal-footer__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.4;
}

.site-legal-footer__sep {
  color: rgba(0, 0, 0, 0.35);
  user-select: none;
}

.site-legal-footer__link {
  display: inline-block;
  color: #2e2e2e !important;
  padding: 0.45rem 0.55rem;
  border-radius: 4px;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 0.9rem;
  transition: color 0.15s ease, background 0.15s ease;
}

.site-legal-footer__link:hover,
.site-legal-footer__link:focus {
  color: #eeb16d !important;
}

body.mm-theme-dark .site-legal-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
  background: var(--page-bg);
}

body.mm-theme-dark .site-legal-footer__sep {
  color: rgba(255, 255, 255, 0.35);
}

body.mm-theme-dark .site-legal-footer__link {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .site-legal-footer__link:hover,
body.mm-theme-dark .site-legal-footer__link:focus {
  color: #9fc2ff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

body.mm-theme-dark.site {
  background: #121419 !important;
}

.row {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: var(--page-bg);
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Kein Abstand über dem Header: .mm-content-row umschließt Menü + Inhalt (cms.php). */
.mm-content-row {
  margin-top: 0 !important;
}

/* Abstand nur zwischen Menü und Seiteninhalt (Zeile mit #site-content-column) */
.mm-content-row .row:has(#site-content-column) {
  margin-top: 12px !important;
}

@media (min-width: 64.063em) {
  .mm-content-row .row:has(#site-content-column) {
    margin-top: 0px !important;
  }
}

/* Verschachtelte .row: keine negativen Margins, kein zusätzliches Padding */
.row .row {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media screen and (min-width: 64.063em) {
  .row {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .row .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.pink h1{ color:#ffffff;} 
.pink h2{ color:#ffffff;} 
.pink h3{ color:#ffffff;} 
.pink a{color:#ffffff;} 

.pink {background: var(--color-contrast); color:#FFFFFF;border:none;}

.btn {padding:0.7em;text-decoration: none;font-size:0.8em;margin-bottom: 1px;border-radius: 13px;background-color: var(--color-contrast);}
.btn:hover, .btn:focus {background: var(--color-contrast-hover); }

/* Header typography (requested fixed sizes) */

/* Mobile drawer menu */

/* Desktop: linke Menüspalte gleicher Hintergrund wie Mobile-Drawer (ohne Rahmen/Schatten) */

/* Desktop sidebar toggle (hamburger) */

/* Hamburger nur auf kleinen Geräten anzeigen */

@media screen and (min-width: 40.063em) {

  /* Sticky braucht sichtbare Overflow-Umgebung (kein overflow:hidden bei Eltern) */

  /* Medium+Large: linke Menüspalte bleibt beim Scrollen sichtbar */

  /* Desktop-Menü: feste Breite */

  #site-content-column {
    width: calc(100% - 220px) !important;
    float: left !important;
    box-sizing: border-box !important;
    padding-left: 7px !important;
    padding-right: 0 !important;
  }

  /* Menü in der Spalte darf bei Bedarf intern scrollen */
}

/* Large screens: no hamburger + sidebar stays visible + sticky menu */
@media screen and (min-width: 64.063em) {
  /* In case the user collapsed the sidebar on medium widths */

  #site-content-column {
    width: calc(100% - 220px) !important;
    float: left !important;
    box-sizing: border-box !important;
    padding-left: 7px !important;
    padding-right: 0 !important;
  }
}

/* Dieser Media Query wurde nach unten verschoben und verbessert - siehe "MOBILE RESPONSIVE STYLES" */

.callout {
 margin-bottom: 0.75rem;
 line-height: 120%;
 overflow:hidden;
 color: var(--color-text);
 border:0px;
}

/* Harmonize white surfaces across the site (elegant, readable) */
.callout {
  background: #FFFFFF;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.callout {
  padding: 1rem 1rem;
  line-height: 1.55;
}

/* Header logo: keep it aligned with the right header cell height */

.callout td {vertical-align: top;}

.callout h1 {font-size:1.45em;font-weight:bold;}
.callout h2 {font-size:1.4em;font-weight:bold;}
.callout h3 {font-size:1.05em;font-weight:bold;margin: 12px 0 5px;}
.callout h4 {font-size:1.05em;font-weight:bold;}

a{color:var(--color-text);font-weight:normal;text-decoration:none;}
a:hover{color:var(--color-contrast);text-decoration:underline;}
a:focus{color:var(--color-text);text-decoration:none;}

.h1 {font-size:1.5em;color:var(--color-text)}
.h2 {font-size:1.35em;} 
.h3 {font-size:1.2em;}
.h4 {color:var(--color-neutral);}

/* Team page (team.htm) */ 

.name{position:relative;left:0px;width:175px;float:left;padding-bottom:10px;}
.inhalt{margin-left:180px;padding-left:0px;padding-bottom:30px;}


a { cursor: pointer; text-decoration:none; }
a:hover { cursor: pointer; text-decoration:underline; }
a.title {font-size:1.15em;font-weight:bold;}
a.h3 {font-size:1.0em;font-weight:bold;color:#009A64;} 

.logo {margin-left:-40px;margin-top: 10px;}

.footer a:hover {color:#FFF;background-color:inherit;text-decoration:underline;}
.footer a:focus {color:#FFF;background-color:inherit;text-decoration:none;}
.footer a{color:#FFF;background-color:inherit;font-size:0.9em;text-decoration:none;}
.footer { border: 0 none;padding:8px;margin-top:-12px;text-align:center; width:100%}

input[type="file"],
input[type="text"],
input[type="checkbox"],
input[type="radio"],
select,
textarea {
  margin: 0 0 0.3rem 0; }

.center{text-align:center;}

.column,.columns {
  padding-left: 0px;
  padding-right: 0px;
}




div.description{font-size:0.9em;padding-top:3px;}
.abbr {text-decoration:none;}
.bewertung{line-height:1em;float:right;padding-top:10px;color:#080849;background-color:#ffffff;text-align:right;}
/* div.hreview has styles above (padding-bottom). Keep empty ruleset removed. */
.small{font-size:0.8em;}
.large{font-size:1.4em;}
.nowrap {white-space: nowrap;}
.bold{font-weight:bold;}

#upload{border: 1px dashed}#drop{padding: 30px;text-align: center;font-size:16px;font-weight:bold;color:#7f858a}#drop a{padding:12px 26px;font-size:14px;margin-top:12px}#drop input{display:none}#upload ul{list-style:none;margin:0 0px}#upload ul li{padding:26px;position: relative;border-bottom:1px solid}#upload ul li input{display: none}#upload ul li p{width: 144px;overflow: hidden;white-space: nowrap;font-size: 11px;font-weight: bold;position: absolute;top: 10px;left: 95px}#upload ul li i{font-weight: normal;font-style:normal;color:#7f7f7f;display:block}#upload ul li canvas{top: 2px;left: 20px;position: absolute}#upload ul li span{width: 15px;height: 12px;background: url('icons.png') no-repeat;position: absolute;top: 20px;right: 33px;cursor:pointer}#upload ul li.working span{height: 26px;background-position: 0 -12px}#upload ul li.error p{color:red}

/* Styled list for services/leistungen */

/* Card design for services/leistungen (responsive grid) */

/* Elegant page styling (scoped) */
.page-leistungen {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 1.25rem 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

/* Page-4 §7: große zentrierte Überschrift (u-text-1) + Lead-Zeile (u-text-2) */

.page-leistungen h1 {
  font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.125rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #1a1a1a;
  margin: 0 auto 0.75rem;
  max-width: min(100%, var(--mm-layout-max));
  text-align: center;
}

/* Image in leistungen lead/header (top right) */

.page-leistungen h2:not(.mr-breads__title) {
  font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1rem, 2.8vw, 1.85rem);
  font-weight: 700;
  text-align: center;
  color: #1a1a1a;
  margin: 0 auto 0.75rem;
  margin-top: 30px;
  max-width: min(100%, var(--mm-layout-max));
  line-height: 1.25;
  letter-spacing: -0.015em;
}

/* Make inline links clearly visible inside content (Kontrastfarbe) */
.page-leistungen a:not(.btn):not(.btn_menue):not(.btn2):not(.home-card-link):not(.mm-home-file-goto-add):not(.mm-profil-credits-open) {
  color: var(--color-contrast);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.16em;
  font-weight: 700;
}

.page-leistungen a:not(.btn):not(.btn_menue):not(.btn2):not(.home-card-link):not(.mm-home-file-goto-add):not(.mm-profil-credits-open):hover,
.page-leistungen a:not(.btn):not(.btn_menue):not(.btn2):not(.home-card-link):not(.mm-home-file-goto-add):not(.mm-profil-credits-open):focus {
  color: var(--color-contrast-hover);
}

/* Profil: Link zur Credits-Seite (Anthrazit, Icon + Text zentriert in einer Zeile) */
.mm-profil-credits-open-wrap {
  margin: 0 0 12px;
  display: flex;
  justify-content: center;
  text-align: center;
}

.mm-profil-page a.mm-profil-credits-open,
.mm-profil-page a.mm-profil-credits-open:visited,
.page-leistungen a.mm-profil-credits-open,
.page-leistungen a.mm-profil-credits-open:visited {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: #2b3038 !important;
  text-decoration: none !important;
  font-weight: 700;
  line-height: 1.35;
}

.mm-profil-credits-open__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
}

.mm-profil-credits-open__icon img {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}

.mm-profil-credits-open__label {
  font-size: 0.92rem;
  letter-spacing: 0.01em;
}

.mm-profil-page a.mm-profil-credits-open:hover,
.mm-profil-page a.mm-profil-credits-open:focus-visible,
.page-leistungen a.mm-profil-credits-open:hover,
.page-leistungen a.mm-profil-credits-open:focus-visible {
  color: #2b3038 !important;
  text-decoration: none !important;
}

body.mm-theme-dark .mm-profil-page a.mm-profil-credits-open,
body.mm-theme-dark .mm-profil-page a.mm-profil-credits-open:visited,
body.mm-theme-dark .mm-profil-page a.mm-profil-credits-open:hover,
body.mm-theme-dark .mm-profil-page a.mm-profil-credits-open:focus-visible,
body.mm-theme-dark .page-leistungen a.mm-profil-credits-open,
body.mm-theme-dark .page-leistungen a.mm-profil-credits-open:visited,
body.mm-theme-dark .page-leistungen a.mm-profil-credits-open:hover,
body.mm-theme-dark .page-leistungen a.mm-profil-credits-open:focus-visible {
  color: #e7ecf6 !important;
}

/* Refine cards when used on the Leistungen page */

/* Long-form Leistungen: use list layout for readability */

/* Simple, readable forms on Leistungen pages */
.page-leistungen .rezept-form {
  margin-top: 0.5rem;
}

.page-leistungen .rezept-form-field label {
  display: block;
  margin: 0 0 0.25rem;
  color: var(--color-text);
  font-weight: 700;
}

.page-leistungen .rezept-form input,
.page-leistungen .rezept-form select,
.page-leistungen .rezept-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--color-text);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
}

.page-leistungen .rezept-form select {
  padding-right: 2.2rem;
}

.page-leistungen .rezept-form input::placeholder,
.page-leistungen .rezept-form textarea::placeholder {
  color: rgba(17, 17, 17, 0.55);
}

.page-leistungen .rezept-form input:focus,
.page-leistungen .rezept-form select:focus,
.page-leistungen .rezept-form textarea:focus {
  outline: none;
  border-color: rgba(var(--brand-rgb), 0.6);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.18);
}

.page-leistungen .rezept-form input:hover,
.page-leistungen .rezept-form select:hover,
.page-leistungen .rezept-form textarea:hover {
  border-color: rgba(var(--brand-rgb), 0.35);
}

.page-leistungen .rezept-form input:active,
.page-leistungen .rezept-form select:active,
.page-leistungen .rezept-form textarea:active {
  transform: translateY(0.5px);
}

.page-leistungen .rezept-form-field--full {
  grid-column: 1 / -1;
}

.page-leistungen .rezept-form-actions {
  margin-top: 0.75rem;
  display: flex;
  justify-content: flex-end;
}

/* [hidden] hat sonst keine Wirkung: .page-leistungen .rezept-form-actions setzt display:flex mit höherer Spezifität */
.page-leistungen .rezept-form-actions[hidden] {
  display: none !important;
}

.page-leistungen .rezept-form--stacked .rezept-form-field--full {
  margin-bottom: 0.25rem;
}

/* Rezept hinzufügen: Hero + zwei Karten parallel (responsive) */
.page-leistungen.rezept-add-page {
  padding: 1.35rem 1.35rem 1.5rem;
  border-radius: 18px;
  background: linear-gradient(165deg, #ffffff 0%, #f5f7fd 55%, #eef1fb 100%);
  border: 1px solid rgba(var(--text-rgb), 0.1);
  box-shadow: 0 12px 40px rgba(45, 84, 192, 0.08);
}

.page-leistungen .rezept-add-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

/* Ab Tablet: zwei gleich breite Spalten */
@media screen and (min-width: 48em) {
  .page-leistungen .rezept-add-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
    align-items: stretch;
  }
}

@media screen and (min-width: 64.063em) {
  .page-leistungen .rezept-add-grid {
    gap: 1.5rem 2rem;
  }
}

.page-leistungen .rezept-add-option {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);
  border-radius: 16px;
  border: 1px solid rgba(var(--text-rgb), 0.12);
  padding: 1.35rem 1.35rem 1.4rem;
  box-shadow:
    0 4px 6px rgba(45, 84, 192, 0.04),
    0 14px 36px rgba(45, 84, 192, 0.07);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.page-leistungen .rezept-add-option::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 4px;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(90deg, var(--color-contrast) 0%, rgba(var(--brand-rgb), 0.85) 100%);
  opacity: 0.95;
}

.page-leistungen .rezept-add-option:hover {
  transform: translateY(-3px);
  box-shadow:
    0 8px 12px rgba(45, 84, 192, 0.06),
    0 22px 48px rgba(45, 84, 192, 0.1);
  border-color: rgba(var(--text-rgb), 0.2);
}

.page-leistungen .rezept-add-option__head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 0.65rem;
}

.page-leistungen .rezept-add-option__badge {
  flex: 0 0 auto;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.15rem;
  line-height: 1;
  color: #fff;
  background: linear-gradient(145deg, var(--color-contrast) 0%, rgba(var(--brand-rgb), 0.92) 100%);
  box-shadow: 0 4px 12px rgba(var(--brand-rgb), 0.35);
}

.page-leistungen .rezept-add-option__head-text {
  flex: 1;
  min-width: 0;
}

.page-leistungen .rezept-add-option__title {
  font-size: 1.32rem;
  font-weight: 800;
  color: var(--color-text);
  margin: 0 0 0.2rem;
  letter-spacing: -0.025em;
  line-height: 1.22;
}

.page-leistungen .rezept-add-option__tagline {
  margin: 0;
  font-size: 0.97rem;
  font-weight: 600;
  color: var(--color-contrast);
  line-height: 1.4;
}

.page-leistungen .rezept-add-option__intro {
  margin: 0 0 1rem;
  line-height: 1.65;
  color: var(--color-neutral);
  font-size: 1.045rem;
}

.page-leistungen .rezept-add-option__hint {
  margin: 0.4rem 0 0.55rem;
  font-size: 0.92rem;
  line-height: 1.52;
  color: var(--color-neutral);
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}

.page-leistungen .rezept-add-option__hint-icon {
  flex: 0 0 auto;
  opacity: 0.75;
  font-size: 0.95rem;
  line-height: 1.4;
}

.page-leistungen .rezept-add-option .rezept-form {
  margin-top: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.page-leistungen .rezept-add-option .rezept-form-actions {
  margin-top: auto;
  padding-top: 0.65rem;
}

.page-leistungen .rezept-add-option__submit {
  width: 100%;
  text-align: center;
  border-radius: 12px;
  font-weight: 700;
  padding: 0.75rem 1rem;
}

/* Datei-Dropzone (Input liegt per for/id neben dem Label, nicht darin) */
.page-leistungen .rezept-file-field {
  position: relative;
}

.page-leistungen .rezept-file-field > label:not(.rezept-file-drop):empty {
  display: none;
}

.page-leistungen .rezept-file-input-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-leistungen .rezept-file-drop {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 168px;
  margin: 0;
  padding: 1.15rem 1rem 1.25rem;
  border: 2px dashed rgba(var(--brand-rgb), 0.42);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(var(--brand-rgb), 0.07) 0%, rgba(var(--brand-rgb), 0.03) 100%);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  text-align: center;
}

.page-leistungen .rezept-file-drop:hover,
.page-leistungen .rezept-file-drop:focus-within,
.page-leistungen .rezept-file-field.is-dragover .rezept-file-drop {
  border-color: rgba(var(--brand-rgb), 0.9);
  background: linear-gradient(180deg, rgba(var(--brand-rgb), 0.14) 0%, rgba(var(--brand-rgb), 0.06) 100%);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb), 0.12);
  transform: scale(1.01);
}

.page-leistungen .rezept-file-names {
  margin: 0.55rem 0 0;
  padding: 0.45rem 0.55rem;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--color-text);
  word-break: break-word;
  min-height: 1.2em;
  background: rgba(var(--text-rgb), 0.05);
  border-radius: 8px;
  border: 1px solid rgba(var(--text-rgb), 0.08);
}

/* Rezept hinzufügen: Darkmode — Textfelder/Platzhalter/Dropzone (page-leistungen überschreibt sonst mit Hellmodus-Farben) */
body.mm-theme-dark .page-leistungen .rezept-form input::placeholder,
body.mm-theme-dark .page-leistungen .rezept-form textarea::placeholder {
  color: rgba(231, 236, 246, 0.52) !important;
}

body.mm-theme-dark .page-leistungen .rezept-form-field label {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .page-leistungen .rezept-file-drop__text {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .page-leistungen .rezept-file-drop__sub {
  color: rgba(231, 236, 246, 0.78) !important;
}

body.mm-theme-dark .page-leistungen .rezept-file-names {
  color: rgba(231, 236, 246, 0.9) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Kategorie-Abschluss: Speichern + Ignorieren nebeneinander */

@media (prefers-reduced-motion: reduce) {
  .page-leistungen .rezept-add-option:hover {
    transform: none;
  }
  .page-leistungen .rezept-file-drop:hover,
  .page-leistungen .rezept-file-drop:focus-within,
  .page-leistungen .rezept-file-field.is-dragover .rezept-file-drop {
    transform: none;
  }
  .mm-rezept-add-page .page-leistungen .rezept-file-drop:hover,
  .mm-rezept-add-page .page-leistungen .rezept-file-drop:focus-within,
  .mm-rezept-add-page .page-leistungen .rezept-file-field.is-dragover .rezept-file-drop {
    transform: none;
  }
}

/* Import-Feedback (Gemini-Import) */
.rezept-import-banner {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  line-height: 1.55;
  font-size: 0.98rem;
}
.rezept-import-banner strong {
  display: block;
  margin-bottom: 0.25rem;
}
.rezept-import-banner a {
  font-weight: 600;
  text-decoration: underline;
}
.rezept-import-banner--ok {
  background: rgba(34, 180, 100, 0.12);
  border: 1px solid rgba(34, 140, 80, 0.35);
  color: var(--color-text);
}
.rezept-import-banner--err {
  background: rgba(200, 60, 60, 0.1);
  border: 1px solid rgba(180, 50, 50, 0.4);
  color: var(--color-text);
}

/* Profil: Stripe Erfolgsmeldung im Credits-Accordion */
.mm-profil-stripe-success-banner {
  position: relative;
  overflow: hidden;
}
.mm-profil-stripe-success-fireworks {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.mm-profil-stripe-success-fireworks .mm-firework {
  position: absolute;
  width: 6px;
  height: 10px;
  border-radius: 3px;
  opacity: 0;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.12));
  animation: mm-firework-pop 2850ms cubic-bezier(.2,.9,.2,1) forwards;
}
@keyframes mm-firework-pop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.6) rotate(0deg); }
  8% { opacity: 1; }
  55% { opacity: 1; transform: translate(calc(-50% + var(--mm-vx)), calc(-50% + var(--mm-vy))) scale(1) rotate(120deg); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--mm-vx)), calc(-50% + var(--mm-vy) + 90px)) scale(0.9) rotate(220deg); }
}

/* Unterüberschriften einzelner Rezepte im Import-Ergebnis */

/* Rezept hinzufügen: ausgelagerte Seitenspezifik aus rezepte-hinzufuegen.htm */
.mm-rezept-add-page .u-sheet-1.u-valign-middle {
  justify-content: flex-start !important;
}

.mm-rezept-add-panel.page-leistungen.rezept-add-page {
  padding: 0.25rem 0 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Ohne u-text-default: Nicepage setzt dort display:table + width:fit-content → Block links statt mittig */
.mm-rezept-add-page .mm-p9-hero-top__lead .mm-rezept-add-page__summary-sub {
  display: block !important;
  width: 100% !important;
  max-width: 44rem;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  box-sizing: border-box;
}

/* Ein einzelnes erkanntes Rezept: eine Zeile, mittig (Lead setzt sonst .u-text-3 margin mit !important links) */
.mm-rezept-add-page .mm-p9-hero-top__lead .mm-rezept-add-page__summary-sub.mm-rezept-add-page__summary-sub--single {
  max-width: 100% !important;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.mm-rezept-add-page .rezept-import-save-short {
  margin: 0 0 0.9rem;
}

.rezept-add-grid--has-files .rezept-file-drop,
.rezept-add-grid--has-files .rezept-file-paste {
  display: none !important;
}

.rezept-add-grid--has-files .rezept-add-option--manual {
  display: none !important;
}

.rezept-add-grid--has-files .rezept-file-field.is-dragover {
  outline: 2px dashed rgba(214, 15, 106, 0.45);
  border-radius: 12px;
  outline-offset: 2px;
}

.rezept-file-names {
  margin: 8px 0 0;
  font-size: 0.86rem;
  line-height: 1.35;
  color: rgba(26, 26, 26, 0.72);
  word-break: break-word;
}

.mm-rezept-add-page .rezept-import-banner {
  background: #f2f4f7 !important;
  border: 1px solid rgba(74, 78, 84, 0.28) !important;
  color: #2b3038 !important;
  border-radius: 12px;
}

.mm-rezept-add-page .rezept-import-banner--ok,
.mm-rezept-add-page .rezept-import-banner--err {
  background: #f2f4f7 !important;
  border-color: rgba(74, 78, 84, 0.28) !important;
  color: #2b3038 !important;
}

.mm-rezept-add-page .rezept-import-banner--admin-framed {
  border-width: 2px !important;
  border-color: rgba(46, 125, 50, 0.45) !important;
  box-shadow: inset 0 0 0 1px rgba(46, 125, 50, 0.12);
  padding: 1rem 1.15rem;
}

.mm-rezept-add-page .rezept-import-banner a {
  color: #353b45 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mm-cook-card .page-leistungen.rezept-add-page {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Startseite: Dateiupload + Rezepttext immer nebeneinander (nicht auf rezepte-hinzufuegen.htm) */
.mm-home-cta-block.rezept-add-page--compact .rezept-add-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: stretch;
  gap: 0.65rem 0.75rem;
  align-items: stretch;
}

.rezept-add-page--compact .rezept-add-option--manual {
  grid-column: 1 / -1;
}

.rezept-add-page--compact .rezept-add-option {
  background: #f7f8fa !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08) !important;
  padding: 0.95rem 0.95rem 1rem !important;
  border-radius: 20px !important;
  min-height: 0 !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
}

.rezept-add-page--compact .rezept-add-option__badge,
.rezept-add-page--compact .rezept-add-option__tagline,
.rezept-add-page--compact .rezept-add-option__intro,
.rezept-add-page--compact .rezept-add-option__hint {
  display: none !important;
}

.rezept-add-page--compact .rezept-add-option__head {
  margin-bottom: 0.7rem !important;
}

.rezept-add-page--compact .rezept-add-option__title {
  font-size: 1.14rem !important;
  line-height: 2.4 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase;
  text-align: center;
  margin: 0 !important;
}

.rezept-add-page--compact .rezept-add-option__head-text {
  width: 100%;
}

.rezept-add-page--compact .rezept-add-option .rezept-form-actions {
  margin-top: auto !important;
  padding-top: 0 !important;
}

.rezept-add-page--compact .rezept-add-option .rezept-form {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.rezept-add-page--compact .rezept-add-option__submit {
  padding: 0.6rem 0.85rem !important;
  border-radius: 10px !important;
  font-size: 0.9rem !important;
}

.rezept-add-page--compact .rezept-file-drop {
  min-height: 88px !important;
  padding: 0.7rem 0.65rem 0.75rem !important;
  border-radius: 12px !important;
}

.rezept-add-page--compact #rezept-text-input {
  min-height: 90px;
}

/* Mobile Startseite: Upload-Kacheln enger skalieren (2 Spalten bleiben) */
@media screen and (max-width: 47.99em) {
  .mm-home-cta-block.rezept-add-page--compact .rezept-add-grid {
    gap: 0.45rem 0.5rem !important;
  }

  .page-leistungen .rezept-add-option--file,
  .page-leistungen .rezept-add-option--text {
    min-width: 0;
    padding: 0.7rem 0.6rem 0.75rem;
  }

  .page-leistungen .rezept-add-option--file:hover,
  .page-leistungen .rezept-add-option--text:hover {
    transform: none;
  }

  .page-leistungen .rezept-add-option--file .rezept-add-option__head,
  .page-leistungen .rezept-add-option--text .rezept-add-option__head {
    gap: 0.45rem;
    margin-bottom: 0.4rem;
  }

  .page-leistungen .rezept-add-option--file .rezept-add-option__badge,
  .page-leistungen .rezept-add-option--text .rezept-add-option__badge {
    width: 1.85rem;
    height: 1.85rem;
    font-size: 0.9rem;
    border-radius: 9px;
  }

  .page-leistungen .rezept-add-option--file .rezept-add-option__title,
  .page-leistungen .rezept-add-option--text .rezept-add-option__title {
    font-size: 0.9rem;
    margin-bottom: 0.05rem;
    line-height: 1.2;
  }

  .rezept-add-page--compact .rezept-add-option--file,
  .rezept-add-page--compact .rezept-add-option--text {
    padding: 0.4rem 0.35rem 0.45rem !important;
    border-radius: 12px !important;
  }

  .rezept-add-page--compact .rezept-add-option__head {
    margin-bottom: 0.25rem !important;
  }

  .rezept-add-page--compact .rezept-add-option__title {
    font-size: 1.14rem !important;
    letter-spacing: 0.03em !important;
    line-height: 2.4 !important;
  }

  .rezept-add-page--compact .rezept-add-option__submit {
    padding: 0.45rem 0.5rem !important;
    font-size: 0.78rem !important;
  }

  .rezept-add-page--compact .rezept-file-drop {
    min-height: calc(4.5rem - 20px) !important;
    padding: 0.45rem 0.4rem !important;
  }

  .rezept-add-page--compact #rezept-text-input,
  .rezept-add-page--compact .rezept-text-paste__textarea {
    min-height: calc(4.5rem - 20px);
  }

  .mm-rezept-add-page {
    --mm-rezept-import-paste-min-h: calc(6.5rem - 20px);
  }

  .mm-rezept-add-page .rezept-text-paste {
    border-radius: 10px;
    min-height: var(--mm-rezept-import-paste-min-h);
  }

  .mm-rezept-add-page .rezept-text-paste__head {
    padding: 0.28rem 0.35rem;
    gap: 0.2rem;
  }

  .mm-rezept-add-page .rezept-text-paste__icon-img {
    width: 18px;
    height: 18px;
  }

  .mm-rezept-add-page .rezept-text-paste__connector {
    flex-basis: 12px;
    min-width: 8px;
  }

  .mm-rezept-add-page .rezept-file-paste__body {
    min-height: calc(3.25rem - 20px);
    padding: 0.28rem 0.35rem;
  }

  .mm-rezept-add-page .rezept-file-paste__body .rezept-file-drop__lead {
    font-size: 0.62rem;
    line-height: 1.28;
    max-width: none;
  }

  .mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea {
    min-height: calc(3.25rem - 20px);
    padding: 0.28rem 0.35rem;
    font-size: 0.7rem;
    line-height: 1.38;
  }

  .mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__lead {
    max-width: none;
    padding: 0.28rem 0.35rem;
    font-size: 0.62rem;
    line-height: 1.28;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .mm-rezept-add-page .rezept-add-page--compact {
    --mm-rezept-import-paste-min-h: calc(6rem - 20px);
  }

  .mm-rezept-add-page .rezept-add-page--compact .rezept-file-paste__body {
    min-height: calc(3rem - 20px) !important;
  }

  .mm-rezept-add-page .rezept-file-field:hover .rezept-text-paste.rezept-file-paste,
  .mm-rezept-add-page .rezept-file-field:focus-within .rezept-text-paste.rezept-file-paste,
  .mm-rezept-add-page .rezept-text-field:hover .rezept-text-paste,
  .mm-rezept-add-page .rezept-text-field:focus-within .rezept-text-paste {
    transform: none;
  }

  .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-add-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-add-option--manual {
    grid-column: 1 / -1;
  }

  .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-file-paste__body,
  .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-field .rezept-text-paste__body .rezept-text-paste__textarea {
    min-height: calc(4rem - 20px) !important;
  }
}

/* Import (Rezept hinzufügen, Einkaufsliste): neutrale Karten/Dropzone statt Blau-Tönung */
.mm-rezept-add-page .page-leistungen .rezept-add-option {
  background: linear-gradient(180deg, #ffffff 0%, #f8f8f9 100%);
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.04),
    0 12px 28px rgba(0, 0, 0, 0.06);
}
.mm-rezept-add-page .page-leistungen .rezept-add-option::before {
  background: linear-gradient(90deg, #5c5f66 0%, #8b9099 100%);
  opacity: 1;
}
.mm-rezept-add-page .page-leistungen .rezept-add-option:hover {
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.06),
    0 16px 36px rgba(0, 0, 0, 0.09);
  border-color: rgba(0, 0, 0, 0.16);
}
.mm-rezept-add-page .page-leistungen .rezept-add-option__badge {
  background: linear-gradient(145deg, #5c5f66 0%, #3d4046 100%);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.mm-rezept-add-page .page-leistungen .rezept-add-option__tagline {
  color: rgba(var(--text-rgb), 0.7);
}

.mm-rezept-add-page .page-leistungen .rezept-file-drop {
  border: 2px dashed rgba(0, 0, 0, 0.16);
  border-radius: 16px;
  background: linear-gradient(180deg, #fafafa 0%, #f4f4f5 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  min-height: 156px;
  gap: 0.75rem;
  padding: 1.25rem 1.1rem 1.35rem;
}
.mm-rezept-add-page .page-leistungen .rezept-file-drop:hover,
.mm-rezept-add-page .page-leistungen .rezept-file-drop:focus-within,
.mm-rezept-add-page .page-leistungen .rezept-file-field.is-dragover .rezept-file-drop {
  border-color: rgba(0, 0, 0, 0.38);
  background: linear-gradient(180deg, #f4f4f5 0%, #ececee 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 0 0 3px rgba(0, 0, 0, 0.06);
  transform: scale(1.01);
}
.mm-rezept-add-page .page-leistungen .rezept-file-drop__lead {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.5;
  color: rgba(var(--text-rgb), 0.70);
  max-width: 22rem;
  margin: 0 auto;
}
.mm-rezept-add-page .page-leistungen .rezept-file-drop:hover .rezept-file-drop__lead,
.mm-rezept-add-page .page-leistungen .rezept-file-drop:focus-within .rezept-file-drop__lead,
.mm-rezept-add-page .page-leistungen .rezept-file-field.is-dragover .rezept-file-drop__lead {
  color: rgba(var(--text-rgb), 0.86);
}

/* Text einfügen: Copy-/Paste-Icons + Feld (nur rezepte-hinzufuegen.htm) — gleicher Aufbau wie Datei-Upload */
.mm-rezept-add-page {
  --mm-rezept-import-paste-min-h: 280px;
}
.mm-rezept-add-page .rezept-add-page--compact {
  --mm-rezept-import-paste-min-h: 228px;
}
.mm-rezept-add-page .rezept-text-paste {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  display: flex;
  flex-direction: column;
  min-height: var(--mm-rezept-import-paste-min-h);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease;
}
.mm-rezept-add-page .rezept-text-paste__head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  background: linear-gradient(180deg, #f4f4f5 0%, #e8e8ea 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.mm-rezept-add-page .rezept-text-paste__icon-img {
  display: block;
  width: 40px;
  height: 38px;
  opacity: 0.78;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.06));
}
.mm-rezept-add-page .rezept-text-paste__connector {
  flex: 0 1 52px;
  min-width: 32px;
  height: 0;
  border-top: 2px dashed rgba(0, 0, 0, 0.18);
}
.mm-rezept-add-page .rezept-text-paste__body {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #fff;
}
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0.9rem 1rem;
  min-height: 100px;
  flex: 1 1 auto;
  font-size: 0.94rem;
  line-height: 1.55;
  resize: vertical;
  background: #fff;
  box-sizing: border-box;
}

.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea:placeholder-shown {
  background: transparent;
}

.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__lead {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  max-width: none;
  margin: 0;
  padding: 0.9rem 1rem;
  text-align: left;
  font-size: 0.9rem;
  line-height: 1.5;
  font-weight: 500;
  color: #4a4e54;
  pointer-events: none;
  transition: color 0.15s ease, font-weight 0.15s ease;
}

.mm-rezept-add-page .rezept-text-field:hover .rezept-text-paste__body .rezept-text-paste__lead,
.mm-rezept-add-page .rezept-text-field:focus-within .rezept-text-paste__body .rezept-text-paste__lead {
  font-weight: 700;
  color: #3a3d44;
}

.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea:focus + .rezept-text-paste__lead,
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea:not(:placeholder-shown) + .rezept-text-paste__lead {
  opacity: 0;
  visibility: hidden;
}
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(90, 95, 105, 0.35);
}
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__textarea:focus-visible {
  outline: 2px solid rgba(90, 95, 105, 0.45);
  outline-offset: -2px;
}

.mm-rezept-add-page .rezept-text-paste.rezept-manual-paste {
  min-height: auto;
}
.mm-rezept-add-page .rezept-text-paste.rezept-manual-paste .rezept-text-paste__body {
  flex: 0 0 auto;
  min-height: 0;
}
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__input {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0.9rem 1rem;
  min-height: 2.75rem;
  font-size: 0.94rem;
  line-height: 1.55;
  background: #fff;
  box-sizing: border-box;
  color: var(--color-text);
}
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__input:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(90, 95, 105, 0.35);
}
.mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__input:focus-visible {
  outline: 2px solid rgba(90, 95, 105, 0.45);
  outline-offset: -2px;
}

/* Datei-Upload: gleicher Kastenaufbau wie Rezepttext (grauer Kopf + heller Inhalt), gesamte Fläche klickbar */
.mm-rezept-add-page .rezept-text-paste.rezept-file-paste:focus {
  outline: none;
}
.mm-rezept-add-page .rezept-text-paste.rezept-file-paste:focus-visible {
  outline: 2px solid rgba(90, 95, 105, 0.45);
  outline-offset: 2px;
}
.mm-rezept-add-page .rezept-text-paste.rezept-file-paste > .rezept-file-paste__label {
  flex: 1 1 auto;
  min-height: 0;
}
.mm-rezept-add-page .rezept-file-paste__label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  cursor: pointer;
  font-weight: inherit;
  min-height: 0;
}
.mm-rezept-add-page .rezept-file-paste__head {
  justify-content: center;
}
.mm-rezept-add-page .rezept-file-paste__body {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-height: 100px;
  padding: 0.9rem 1rem;
  text-align: left;
  box-sizing: border-box;
  background: #fff;
}
.mm-rezept-add-page .rezept-file-paste__body .rezept-file-drop__lead {
  display: block;
  max-width: none;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  font-weight: 500;
  color: #4a4e54;
  text-decoration: none !important;
  transition: color 0.15s ease;
}
.mm-rezept-add-page .rezept-file-field:hover .rezept-file-paste__body .rezept-file-drop__lead,
.mm-rezept-add-page .rezept-file-field:focus-within .rezept-file-paste__body .rezept-file-drop__lead,
.mm-rezept-add-page .rezept-file-field.is-dragover .rezept-file-paste__body .rezept-file-drop__lead {
  font-weight: 700;
  color: #3a3d44;
}
.mm-rezept-add-page .rezept-file-field:hover .rezept-text-paste.rezept-file-paste,
.mm-rezept-add-page .rezept-file-field:focus-within .rezept-text-paste.rezept-file-paste,
.mm-rezept-add-page .rezept-file-field.is-dragover .rezept-text-paste.rezept-file-paste {
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 0 0 3px rgba(0, 0, 0, 0.06);
  transform: scale(1.01);
}

/* Rezepttext: gleicher Hover/Focus-Rahmen wie Datei-Upload */
.mm-rezept-add-page .rezept-text-field:hover .rezept-text-paste,
.mm-rezept-add-page .rezept-text-field:focus-within .rezept-text-paste {
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 0 0 3px rgba(0, 0, 0, 0.06);
  transform: scale(1.01);
}

.mm-rezept-add-page .rezept-manual-field:hover .rezept-text-paste.rezept-manual-paste,
.mm-rezept-add-page .rezept-manual-field:focus-within .rezept-text-paste.rezept-manual-paste {
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 0 0 3px rgba(0, 0, 0, 0.06);
  transform: scale(1.01);
}

.mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea {
  border-radius: 0 !important;
}

.mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea:placeholder-shown {
  background: transparent !important;
}

.mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea:not(:placeholder-shown) {
  background: #fff !important;
}

.mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__input {
  background: #fff !important;
  border-radius: 0 !important;
}

.mm-rezept-add-page .rezept-add-page--compact .rezept-file-paste__body {
  min-height: 90px;
}

.rezept-add-page--compact .rezept-form-field label {
  font-size: 0.85rem;
}

.rezept-add-page--compact .rezept-form-field input,
.rezept-add-page--compact .rezept-form-field textarea {
  font-size: 0.92rem;
  border-radius: 10px;
}

.mm-rezept-add-btn {
  width: 100%;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #6b6f76 0%, #4a4e54 100%) !important;
  color: #f4f4f5 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  padding: 0.62rem 0.9rem !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
  transition: filter 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.mm-rezept-add-btn:hover,
.mm-rezept-add-btn:focus {
  background: linear-gradient(180deg, #787c84 0%, #555a62 100%) !important;
  color: #f4f4f5 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  filter: brightness(1.03);
}

.mm-rezept-add-btn:focus-visible {
  outline: 2px solid rgba(90, 95, 105, 0.65);
  outline-offset: 2px;
}

.rezept-add-page--compact .rezept-form-field input,
.rezept-add-page--compact .rezept-form-field textarea,
.rezept-add-page--compact .rezept-file-drop {
  border-color: rgba(0, 0, 0, 0.16) !important;
  background: #fff !important;
}

.rezept-add-page--compact .rezept-file-drop {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}

/* Kompakte Karten: neutrale Dropzone/Paste trotz !important auf .rezept-file-drop */
.mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-drop {
  min-height: 128px !important;
  padding: 1rem 0.85rem 1.1rem !important;
  border: 2px dashed rgba(0, 0, 0, 0.18) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fafafa 0%, #f4f4f5 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}
.mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-drop:hover,
.mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-drop:focus-within,
.mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-field.is-dragover .rezept-file-drop {
  background: linear-gradient(180deg, #f4f4f5 0%, #ececee 100%) !important;
  border-color: rgba(0, 0, 0, 0.34) !important;
}

.mm-rezept-add-page .rezept-add-page--compact .rezept-file-paste .rezept-text-paste__icon-img {
  width: 40px !important;
  height: 40px !important;
}

body.mm-theme-dark .mm-rezept-add-btn {
  color: #f4f4f5 !important;
  background: linear-gradient(180deg, #7d828b 0%, #5c6068 100%) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-rezept-add-btn:hover,
body.mm-theme-dark .mm-rezept-add-btn:focus {
  background: linear-gradient(180deg, #8b9099 0%, #686d76 100%) !important;
  color: #f4f4f5 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}

body.mm-theme-dark .rezept-add-page--compact .rezept-add-option {
  background: #171b22 !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
}

body.mm-theme-dark .rezept-add-page--compact .rezept-form-field input,
body.mm-theme-dark .rezept-add-page--compact .rezept-form-field textarea,
body.mm-theme-dark .rezept-add-page--compact .rezept-file-drop {
  background: #10141b !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-drop {
  background: linear-gradient(180deg, #1c2128 0%, #161b22 100%) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-drop:hover,
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-drop:focus-within,
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .page-leistungen .rezept-file-field.is-dragover .rezept-file-drop {
  background: linear-gradient(180deg, #222831 0%, #1a1f27 100%) !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
}
body.mm-theme-dark .mm-rezept-add-page .page-leistungen .rezept-file-drop__lead {
  color: #e7ecf6 !important;
}
body.mm-theme-dark .mm-rezept-add-page .page-leistungen .rezept-file-drop__icon-img {
  opacity: 0.88;
  filter: invert(1) brightness(1.05);
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: #141920 !important;
  box-shadow: none !important;
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__head {
  background: linear-gradient(180deg, #1a1f27 0%, #141920 100%) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__icon-img {
  opacity: 0.9;
  filter: invert(1) brightness(1.08);
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__connector {
  border-top-color: rgba(255, 255, 255, 0.22) !important;
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__textarea,
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__input {
  background: #10141b !important;
  color: #e7ecf6 !important;
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__textarea:focus,
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__input:focus {
  box-shadow: inset 0 0 0 2px rgba(200, 210, 230, 0.25) !important;
}
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__textarea:focus-visible,
body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__input:focus-visible {
  outline-color: rgba(200, 210, 230, 0.45) !important;
}

/* Kompakt-Layout setzt #fff !important auf Paste-Felder — Dark-Theme explizit überschreiben */
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body {
  background: #12161c !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea,
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__input {
  background: #12161c !important;
  color: #e7ecf6 !important;
  caret-color: #e7ecf6;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea::placeholder,
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__input::placeholder {
  color: rgba(231, 236, 246, 0.42);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea:focus,
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__input:focus {
  box-shadow:
    inset 0 0 0 1px rgba(160, 190, 235, 0.35),
    inset 0 0 0 2px rgba(120, 170, 230, 0.12) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__textarea:focus-visible,
body.mm-theme-dark .mm-rezept-add-page .rezept-add-page--compact .rezept-text-paste__body .rezept-text-paste__input:focus-visible {
  outline: 2px solid rgba(160, 190, 235, 0.55) !important;
  outline-offset: -2px !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-file-paste__body {
  background: #10141b !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-file-paste__body .rezept-file-drop__lead {
  color: rgba(231, 236, 246, 0.72) !important;
  font-weight: 500;
  text-decoration: none !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-file-field:hover .rezept-file-paste__body .rezept-file-drop__lead,
body.mm-theme-dark .mm-rezept-add-page .rezept-file-field:focus-within .rezept-file-paste__body .rezept-file-drop__lead,
body.mm-theme-dark .mm-rezept-add-page .rezept-file-field.is-dragover .rezept-file-paste__body .rezept-file-drop__lead {
  font-weight: 700 !important;
  color: rgba(231, 236, 246, 0.9) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-text-paste__body .rezept-text-paste__lead {
  color: rgba(231, 236, 246, 0.72);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-text-field:hover .rezept-text-paste__body .rezept-text-paste__lead,
body.mm-theme-dark .mm-rezept-add-page .rezept-text-field:focus-within .rezept-text-paste__body .rezept-text-paste__lead {
  font-weight: 700;
  color: rgba(231, 236, 246, 0.9);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-file-field:hover .rezept-text-paste.rezept-file-paste,
body.mm-theme-dark .mm-rezept-add-page .rezept-file-field:focus-within .rezept-text-paste.rezept-file-paste,
body.mm-theme-dark .mm-rezept-add-page .rezept-file-field.is-dragover .rezept-text-paste.rezept-file-paste {
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 3px rgba(0, 0, 0, 0.35) !important;
}

/* Rezepttext: gleicher Hover wie Datei-Upload (Basis nutzt box-shadow: none !important) */
body.mm-theme-dark .mm-rezept-add-page .rezept-text-field:hover .rezept-text-paste,
body.mm-theme-dark .mm-rezept-add-page .rezept-text-field:focus-within .rezept-text-paste {
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 3px rgba(0, 0, 0, 0.35) !important;
  transform: scale(1.01);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-manual-field:hover .rezept-text-paste.rezept-manual-paste,
body.mm-theme-dark .mm-rezept-add-page .rezept-manual-field:focus-within .rezept-text-paste.rezept-manual-paste {
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 3px rgba(0, 0, 0, 0.35) !important;
  transform: scale(1.01);
}

body.mm-theme-dark .rezept-file-names {
  color: rgba(231, 236, 246, 0.88) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner--ok,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner--err {
  background: #1a1f27 !important;
  border-color: rgba(231, 236, 246, 0.24) !important;
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner a {
  color: #cfd5df !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner--admin-framed {
  border-color: rgba(129, 199, 132, 0.5) !important;
  box-shadow: inset 0 0 0 1px rgba(129, 199, 132, 0.18);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout {
  background: #1a1f27 !important;
  border: 1px solid rgba(231, 236, 246, 0.18) !important;
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout h2,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout h3,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout h4,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout strong {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout p,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout li {
  color: rgba(231, 236, 246, 0.82) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout code,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout pre {
  background: #10141b !important;
  color: #e7ecf6 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-result.callout details > summary {
  color: rgba(231, 236, 246, 0.86) !important;
}

.mm-rezept-add-page .rezept-import-banner--hint {
  background: #f2f4f7 !important;
  border-color: rgba(74, 78, 84, 0.28) !important;
  color: #2b3038 !important;
}

.mm-rezept-add-page .rezept-import-banner--hint .rezept-import-banner__body {
  margin: 0.35rem 0 0;
}

.mm-rezept-add-page .rezept-import-banner__overview {
  margin: 0.75rem 0 0.35rem;
  font-weight: 600;
}

.mm-rezept-add-page .rezept-import-banner__recipe-list {
  margin: 0 0 0 1.25rem;
  padding: 0;
}

.mm-rezept-add-page .rezept-import-banner__recipe-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.mm-rezept-add-page .rezept-import-banner__recipe-link:hover,
.mm-rezept-add-page .rezept-import-banner__recipe-link:focus-visible {
  text-decoration-thickness: 0.12em;
}

.mm-rezept-add-page .rezept-import-preview-list .rezept-import-preview {
  scroll-margin-top: 5rem;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner--hint {
  background: #10141b !important;
  border-color: rgba(231, 236, 246, 0.24) !important;
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner--hint code {
  background: rgba(231, 236, 246, 0.08) !important;
  border-color: rgba(231, 236, 246, 0.16) !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-banner__recipe-list {
  color: rgba(231, 236, 246, 0.92);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-step-zutaten {
  color: rgba(231, 236, 246, 0.72) !important;
}

.mm-rezept-add-page .rezept-import-saved-steps {
  margin-bottom: 1rem;
}

.mm-rezept-add-page .rezept-import-saved-steps__intro {
  margin: 0 0 14px;
  text-align: center;
  font-weight: 700;
  line-height: 1.45;
  color: var(--mm-ink, #1a1a1a);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-saved-steps__intro {
  color: #e7ecf6;
}

.mm-rezept-add-page .rezept-import-saved-steps .mm-cook-step__text a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mm-rezept-add-page .rezept-import-saved-steps .mm-cook-step__text a:hover {
  color: rgba(224, 96, 112, 1);
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-saved-steps .mm-cook-step__text a:hover {
  color: rgba(244, 160, 176, 1);
}

.rezept-import-preview-list {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}

.rezept-import-preview {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
  border: 1px solid rgba(74, 78, 84, 0.18);
  border-radius: 18px;
  background: #f7f8fa;
}

.rezept-import-preview__media {
  position: relative;
  min-height: 170px;
  border-radius: 16px;
  overflow: hidden;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(238, 177, 109, 0.42), transparent 58%),
    radial-gradient(circle at 75% 35%, rgba(0, 0, 0, 0.06), transparent 52%),
    linear-gradient(135deg, rgba(242, 242, 242, 1), rgba(255, 255, 255, 1));
}

.rezept-import-preview__media:has(.rezept-import-preview__img) {
  background-image: none;
  padding: 0;
}

.rezept-import-preview__photo-panel {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  z-index: 1;
}

.rezept-import-preview__photo-panel .rezept-import-preview__gen-photo-btn {
  width: auto !important;
  max-width: 100%;
  text-align: center;
}

.rezept-import-preview__photo-slot-hint {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.4;
  color: rgba(53, 59, 69, 0.82);
  text-align: center;
  max-width: 20rem;
}

.rezept-import-preview__media--photo-slot.rezept-import-preview__media--busy {
  opacity: 0.72;
  pointer-events: none;
}

body.mm-theme-dark .rezept-import-preview__photo-slot-hint {
  color: rgba(231, 236, 246, 0.78);
}

.rezept-import-preview__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 170px;
  object-fit: cover;
}

.rezept-import-preview__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rezept-import-preview__head {
  min-width: 0;
}

/* KI-Vorschau: gleiche Ebene wie übrige H2-Abschnitte — schwarz, kräftig */
.rezept-import-preview__title {
  margin: 0 0 10px;
  font-size: 1.875rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #000000;
}

/* Nicepage/.callout: globale Link-Styles überschreiben */
.mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link,
.mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:visited {
  color: #000000 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:hover,
.mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:focus,
.mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:active {
  color: #000000 !important;
  text-decoration: none !important;
}

.mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:focus-visible {
  outline: 2px solid rgba(224, 96, 112, 0.65) !important;
  outline-offset: 3px;
  border-radius: 4px;
}

.rezept-import-preview__media-link {
  display: block;
  height: 100%;
  min-height: 170px;
  line-height: 0;
  border-radius: 16px;
  overflow: hidden;
  outline: none;
}

.rezept-import-preview__media-link:focus-visible {
  outline: 2px solid rgba(224, 96, 112, 0.65);
  outline-offset: 2px;
}

.rezept-import-preview__media-link .rezept-import-preview__img {
  transition: transform 0.2s ease, filter 0.2s ease;
}

.mm-rezept-add-page .rezept-import-preview__media-link:hover .rezept-import-preview__img {
  transform: scale(1.02);
  filter: brightness(1.03);
}

.rezept-import-preview__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.rezept-import-preview__tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(74, 78, 84, 0.08);
  color: #353b45;
  font-size: 0.84rem;
  font-weight: 700;
}

.rezept-import-preview__desc {
  margin: 0 0 12px;
  color: #353b45;
  line-height: 1.6;
}

.rezept-import-preview__time,
.rezept-import-preview__source,
.rezept-import-admin-meta__line {
  margin: 0;
  color: #353b45;
  line-height: 1.5;
}

.rezept-import-preview__summary {
  padding-top: 10px;
  border-top: 1px solid rgba(74, 78, 84, 0.14);
  color: rgba(53, 59, 69, 0.86);
  font-weight: 600;
}

.rezept-import-preview__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rezept-import-admin-meta {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(74, 78, 84, 0.14);
}

.rezept-import-preview__admin-adopt-api {
  margin-top: 14px;
}

.rezept-import-preview__admin-adopt-api > summary {
  cursor: pointer;
  font-weight: 700;
}

.rezept-import-preview__admin-adopt-api details {
  margin-top: 10px;
}

.rezept-import-preview__admin-adopt-api .rezept-import-preview__admin-pre {
  max-height: 280px;
  overflow: auto;
  font-size: 0.78rem;
  margin: 6px 0 12px;
  padding: 10px;
  background: rgba(74, 78, 84, 0.06);
  border-radius: 8px;
  white-space: pre-wrap;
  word-break: break-word;
}

body.mm-theme-dark .rezept-import-preview__admin-adopt-api .rezept-import-preview__admin-pre {
  background: rgba(0, 0, 0, 0.28);
  color: rgba(231, 236, 246, 0.92);
}

body.mm-theme-dark .rezept-import-preview__admin-adopt-api > summary,
body.mm-theme-dark .rezept-import-preview__admin-adopt-api details summary {
  color: #e7ecf6;
}

.rezept-import-admin-meta__title {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 800;
  color: #2b3038;
}

@media (max-width: 760px) {
  .rezept-import-preview {
    grid-template-columns: 1fr;
  }

  .rezept-import-preview__media {
    min-height: 130px;
  }

  .rezept-import-preview__title {
    font-size: 1.5rem;
  }
}

body.mm-theme-dark .rezept-import-preview {
  background: #171b22;
  border-color: rgba(255, 255, 255, 0.14);
}

body.mm-theme-dark .rezept-import-preview__media {
  background-image:
    radial-gradient(circle at 20% 20%, rgba(238, 177, 109, 0.2), transparent 58%),
    radial-gradient(circle at 75% 35%, rgba(255, 255, 255, 0.03), transparent 52%),
    linear-gradient(135deg, rgba(32, 38, 48, 1), rgba(23, 27, 34, 1));
}

body.mm-theme-dark .rezept-import-preview__title,
body.mm-theme-dark .rezept-import-admin-meta__title {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:visited {
  color: #e7ecf6 !important;
}

body.mm-theme-dark .mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:hover,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:focus,
body.mm-theme-dark .mm-rezept-add-page .rezept-import-preview .rezept-import-preview__title-link:active {
  color: #e7ecf6 !important;
  text-decoration: none !important;
}

body.mm-theme-dark .rezept-import-preview__tag {
  background: rgba(231, 236, 246, 0.08);
  color: #d7deea;
}

body.mm-theme-dark .rezept-import-preview__desc,
body.mm-theme-dark .rezept-import-preview__time,
body.mm-theme-dark .rezept-import-preview__source,
body.mm-theme-dark .rezept-import-preview__summary,
body.mm-theme-dark .rezept-import-admin-meta__line {
  color: rgba(231, 236, 246, 0.82);
}

body.mm-theme-dark .rezept-import-preview__direct-link {
  color: rgba(231, 236, 246, 0.82);
}

body.mm-theme-dark .rezept-import-preview__summary,
body.mm-theme-dark .rezept-import-admin-meta {
  border-color: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .rezept-import-preview__link--disabled {
  background: rgba(231, 236, 246, 0.08);
  color: rgba(231, 236, 246, 0.72);
}

.mm-rezept-add-ki-toast {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  pointer-events: auto;
  isolation: isolate;
}

.mm-rezept-add-ki-toast__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(15, 18, 24, 0.38);
  pointer-events: auto;
}

.mm-rezept-add-ki-toast[hidden] {
  display: none !important;
}

.mm-rezept-add-ki-toast__panel {
  position: relative;
  z-index: 1;
  width: min(320px, calc(100vw - 32px));
  min-height: 140px;
  padding: 22px 20px;
  border-radius: 18px;
  background: rgba(43, 48, 56, 0.56);
  color: #f4f4f5;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
}

.mm-rezept-add-ki-toast__text {
  font-size: 1rem;
  line-height: 1.4;
  margin: 0;
}

.mm-rezept-add-ki-toast--text-hidden .mm-rezept-add-ki-toast__text {
  display: none !important;
}

.mm-rezept-add-ki-toast__bar {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  overflow: hidden;
}

.mm-rezept-add-ki-toast__bar[hidden] {
  display: none !important;
}

.mm-rezept-add-ki-toast__bar-indet {
  height: 100%;
  width: 38%;
  border-radius: 999px;
  background: linear-gradient(90deg, #c98a45, #eeb16d, #f5c896);
  animation: mm-rezept-add-ki-bar-slide 1.35s ease-in-out infinite;
}

@keyframes mm-rezept-add-ki-bar-slide {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(320%); }
}

.mm-rezept-add-ki-toast--error .mm-rezept-add-ki-toast__panel {
  background: rgba(176, 0, 32, 0.78);
}

body.mm-theme-dark .mm-rezept-add-ki-toast__panel {
  background: rgba(20, 24, 31, 0.58);
  color: #e7ecf6;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.42);
}

body.mm-theme-dark .mm-rezept-add-ki-toast--error .mm-rezept-add-ki-toast__panel {
  background: rgba(140, 30, 56, 0.82);
}

body.mm-rezept-add-ki-busy {
  user-select: none;
  -webkit-user-select: none;
}

.mm-import-adopt-split {
  position: fixed;
  inset: 0;
  z-index: 100020;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.mm-import-adopt-split[hidden] {
  display: none !important;
}

.mm-import-adopt-split__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 18, 24, 0.55);
}

.mm-import-adopt-split__panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(90vh, 720px);
  overflow: auto;
  border-radius: 16px;
  background: #fff;
  color: #1a1d24;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  padding: 1.25rem 1.25rem 1.5rem;
}

.mm-import-adopt-split__close {
  position: absolute;
  top: 0.5rem;
  right: 0.6rem;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.06);
  color: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.mm-import-adopt-split__close:hover,
.mm-import-adopt-split__close:focus {
  background: rgba(0, 0, 0, 0.1);
}

.mm-import-adopt-split__h {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
}

.mm-import-adopt-split__recipe-title {
  margin: 0;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.35;
}

.mm-import-adopt-split__media-wrap {
  margin-top: 0.85rem;
  max-width: min(420px, 100%);
}

.mm-import-adopt-split__img-frame {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.065);
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mm-import-adopt-split__loading {
  margin-top: 0.85rem;
  width: 100%;
  box-sizing: border-box;
}

.mm-import-adopt-split__loading[hidden] {
  display: none !important;
}

/* Gleiches Balken-Design wie KI-Toast beim Upload; Schiene auf hellem Panel sichtbar */
.mm-import-adopt-split__right .mm-import-adopt-split__loading .mm-rezept-add-ki-toast__bar {
  width: 100%;
  background: rgba(0, 0, 0, 0.1);
}

.mm-import-adopt-split__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: blur(14px);
  transform: scale(1.03);
  transition:
    opacity 6s ease,
    filter 6s cubic-bezier(0.33, 1, 0.68, 1),
    transform 6s ease;
}

.mm-import-adopt-split__img.mm-import-adopt-split__img--visible {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}

.mm-import-adopt-split__img-ph {
  width: 100%;
  height: 100%;
  min-height: 6.5rem;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.065);
}

@media (prefers-reduced-motion: reduce) {
  .mm-import-adopt-split__right .mm-import-adopt-split__loading .mm-rezept-add-ki-toast__bar-indet {
    animation: none;
    opacity: 0.9;
    transform: translateX(0);
    width: 100%;
  }

  .mm-import-adopt-split__img {
    filter: none;
    transition: opacity 6s ease;
  }

  .mm-import-adopt-split__img.mm-import-adopt-split__img--visible {
    filter: none;
    transform: none;
  }
}

/* Startseite: Gast-Vorschau-Bild weich → scharf (6s) */

.mm-import-adopt-split__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1.5rem;
  align-items: start;
}

@media (max-width: 720px) {
  .mm-import-adopt-split__grid {
    grid-template-columns: 1fr;
  }
}

.mm-import-adopt-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mm-import-adopt-steps__item {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.95rem;
}

.mm-import-adopt-steps__item:last-child {
  border-bottom: 0;
}

.mm-import-adopt-steps__n {
  flex: 0 0 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  font-size: 0.85rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mm-import-adopt-steps__item[data-state="running"] .mm-import-adopt-steps__n {
  background: rgba(0, 96, 180, 0.2);
  box-shadow: 0 0 0 2px rgba(0, 96, 180, 0.35);
}

.mm-import-adopt-steps__item[data-state="done"] .mm-import-adopt-steps__n {
  background: rgba(34, 140, 90, 0.25);
}

.mm-import-adopt-steps__item[data-state="error"] .mm-import-adopt-steps__n {
  background: rgba(176, 0, 32, 0.2);
}

.mm-import-adopt-split__err {
  margin: 0.75rem 0 0;
  color: #b00020;
  font-size: 0.9rem;
}

.mm-import-adopt-split__err a,
.rezept-import-banner--err .mm-import-dup-household-link {
  font-weight: 600;
  text-decoration: underline;
  color: inherit;
}

.mm-dup-household-actions {
  margin: 0.75rem 0 0;
}

.mm-dup-household-actions .mm-import-dup-household-other {
  display: inline-block;
  margin-top: 0.15rem;
  text-decoration: none;
  font-weight: 600;
}

.mm-import-adopt-split__err .mm-dup-household-actions .mm-import-dup-household-other {
  color: var(--color-text, #1f3f8f);
}

body.mm-theme-dark .mm-import-adopt-split__err .mm-dup-household-actions .mm-import-dup-household-other {
  color: var(--color-text, #e7ecf6);
}

body.mm-import-adopt-busy {
  user-select: none;
  -webkit-user-select: none;
}

.mm-rezept-add-page .rezept-import-preview__actions {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(var(--text-rgb), 0.1);
}

.rezept-import-preview-toolbar {
  margin-bottom: 1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.65rem 0.85rem;
}

/* Sonst width:100% von .mm-rezept-add-btn → Buttons untereinander */
.rezept-import-preview-toolbar .mm-rezept-add-btn {
  width: auto !important;
  flex: 1 1 0;
  min-width: 0;
  white-space: normal;
  text-align: center;
}

/* Übernehmen (links) und Verwerfen (rechts) in einer Zeile — .mm-rezept-add-btn hat sonst width:100% */
.rezept-import-preview__actions--split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem 0.85rem;
}

.rezept-import-preview__actions--split .mm-rezept-add-btn {
  width: auto !important;
  flex: 1 1 0;
  min-width: 0;
}

.mm-rezept-add-btn.mm-rezept-add-btn--outline,
.mm-rezept-add-btn.mm-rezept-add-btn--adopt-all {
  background: transparent;
  color: var(--text, #1a1d24);
  border: 2px solid rgba(var(--text-rgb), 0.35);
  box-shadow: none;
}

.mm-rezept-add-btn.mm-rezept-add-btn--outline:hover,
.mm-rezept-add-btn.mm-rezept-add-btn--outline:focus,
.mm-rezept-add-btn.mm-rezept-add-btn--adopt-all:hover,
.mm-rezept-add-btn.mm-rezept-add-btn--adopt-all:focus {
  border-color: rgba(var(--text-rgb), 0.55);
  background: rgba(var(--text-rgb), 0.06);
}

.mm-rezept-add-btn.mm-rezept-add-btn--adopt-all {
  border-color: rgba(0, 96, 180, 0.45);
  color: inherit;
}

body.mm-theme-dark .mm-rezept-add-btn.mm-rezept-add-btn--outline,
body.mm-theme-dark .mm-rezept-add-btn.mm-rezept-add-btn--adopt-all {
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.35);
}

body.mm-theme-dark .mm-rezept-add-btn.mm-rezept-add-btn--outline:hover,
body.mm-theme-dark .mm-rezept-add-btn.mm-rezept-add-btn--adopt-all:hover {
  background: rgba(255, 255, 255, 0.08);
}

body.mm-theme-dark .mm-import-adopt-split__panel {
  background: rgba(24, 28, 36, 0.96);
  color: #e7ecf6;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

body.mm-theme-dark .mm-import-adopt-steps__item {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.mm-theme-dark .mm-import-adopt-steps__n {
  background: rgba(255, 255, 255, 0.1);
}

body.mm-theme-dark .mm-import-adopt-split__close {
  background: rgba(255, 255, 255, 0.08);
}

body.mm-theme-dark .mm-import-adopt-split__close:hover,
body.mm-theme-dark .mm-import-adopt-split__close:focus {
  background: rgba(255, 255, 255, 0.14);
}

body.mm-theme-dark .mm-import-adopt-split__err {
  color: #ff8a9a;
}

body.mm-theme-dark .mm-import-adopt-split__img-frame {
  background: rgba(255, 255, 255, 0.07);
}

body.mm-theme-dark .mm-import-adopt-split__img-ph {
  background: rgba(255, 255, 255, 0.07);
}

body.mm-theme-dark .mm-import-adopt-split__right .mm-import-adopt-split__loading .mm-rezept-add-ki-toast__bar {
  background: rgba(255, 255, 255, 0.14);
}

/* Rezeptliste (Meine Rezepte) */

/* Aktuelles: highlight current status */

/* Startseite: 3 Kacheln im Aktuelles-Status-Stil */

/* Notruf-Nummern als Badge hervorheben */

/* Opening hours table */
.page-leistungen .zeiten-table {
  width: 100%;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0.5rem 0 0;
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.page-leistungen .zeiten-table th,
.page-leistungen .zeiten-table td {
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  vertical-align: middle;
}

.page-leistungen .zeiten-table th {
  text-align: left;
  color: #FFFFFF;
  background: var(--brand-primary);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.page-leistungen .zeiten-table td {
  color: var(--color-text);
}

.page-leistungen .zeiten-table tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.02);
}

.page-leistungen .zeiten-table tr:last-child td {
  border-bottom: none;
}

@media screen and (max-width: 40em) {
  .page-leistungen .zeiten-table th,
  .page-leistungen .zeiten-table td {
    padding: 0.65rem 0.7rem;
    font-size: 0.95rem;
  }
}

/* Info cards (same layout as Leistungen cards, but without check icon) */

@media screen and (max-width: 40em) {
  .page-leistungen {
    border-radius: 12px;
    padding: 1rem 0.95rem;
  }
}

/* =====================================================
   MOBILE RESPONSIVE STYLES
   Diese Styles sorgen für gute Lesbarkeit auf Handys
   ohne das Desktop-Design zu verändern
   ===================================================== */

@media screen and (max-width: 40em) {
  /* Verhindere horizontales Scrollen */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
  }

  .site {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
  
  /* Erzwinge Textumbruch überall */
  * {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Verhindere zu breite Elemente */
  .callout > *,
  .page-leistungen > * {
    max-width: 100% !important;
  }

  /* Grundlegende mobile Anpassungen - Volle Breite nutzen */
  .row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .column, .columns {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    float: none !important;
  }

  /* Content-Spalte soll volle Breite nutzen */
  #site-content-column {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
  
  /* Foundation Grid-Klassen auf mobil volle Breite */
  .small-12,
  .medium-12,
  .large-12 {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Header/Brand Bereich mobil optimieren */
  
  /* Mobile Menu Drawer */

  /* Callout/Content Bereiche mobil */
  .callout {
    padding: 0.9rem !important;
    border-radius: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .callout h1 {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.6rem !important;
    font-weight: bold !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .callout h2 {
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
    font-weight: bold !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .callout h3 {
    font-size: 1rem !important;
    line-height: 1.3 !important;
    font-weight: bold !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .callout p {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  .callout a {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  .callout ul,
  .callout ol {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 1.2rem !important;
  }
  
  /* weiss-Klasse für andere Content-Bereiche */

  /* Page-Leistungen mobil */
  .page-leistungen {
    padding: 0.9rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-leistungen h1 {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.6rem !important;
    font-weight: bold !important;
  }

  /* Flex-Layouts auf mobil stapeln */
  
  div[style*="display: flex"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.6rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Buttons mobil */
  .btn {
    font-size: 0.95rem !important;
    padding: 0.65rem 0.8rem !important;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    line-height: 1.3 !important;
  }
  
  .pink.btn {
    width: auto !important;
    min-width: 120px !important;
    display: inline-block !important;
    padding: 0.65rem 1rem !important;
  }
  
  button.pink.btn {
    float: none !important;
    width: auto !important;
  }

  /* Bilder responsiv */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  .callout img {
    max-width: 100% !important;
    height: auto !important;
    float: none !important;
    display: block !important;
    margin: 0.5rem auto !important;
  }
  
  /* Verhindere Float-Probleme auf mobil */
  div[style*="float:left"],
  div[style*="float:right"],
  div[style*="float: left"],
  div[style*="float: right"],
  div[style*="clear:both"],
  div[style*="clear: both"] {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Clearfix für Callouts */
  .callout::after,
  .page-leistungen::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
  }

  /* Tabellen responsiv */
  table {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 0.95rem !important;
    box-sizing: border-box !important;
    display: table !important;
  }

  table td,
  table th {
    padding: 0.5rem !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
  }
  
  /* Tabellen in Callouts */
  .callout table,
  .page-leistungen table {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Formulare mobil */
  form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  select {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important; /* Verhindert Zoom auf iOS */
    box-sizing: border-box !important;
    margin-bottom: 0.5rem !important;
    padding: 0.5rem !important;
  }

  input[type="submit"],
  button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0.5rem !important;
    box-sizing: border-box !important;
    float: none !important;
  }
  
  form input[style*="float:left"],
  form input[style*="float: left"] {
    float: none !important;
    width: 100% !important;
    margin-bottom: 0.5rem !important;
  }
  
  form input[style*="float:right"],
  form input[style*="float: right"] {
    float: none !important;
    width: 100% !important;
  }
  
  /* Google Maps Canvas */

  /* Zellen-Klassen mobil anpassen */
  .name {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-bottom: 0.5rem !important;
    box-sizing: border-box !important;
  }

  .inhalt {
    margin-left: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Sprechzeiten-Seite und ähnliche Layouts */

  /* Karten-Grid auf eine Spalte */

  /* Long-form Leistungen (z.B. Hausärztliche Versorgung): keine unnötige Einrückung */

  /* Kontaktdaten besser lesbar */
}

/* Noch kleinere Bildschirme (unter 360px) */
@media screen and (max-width: 22.5em) {
  
  .callout,
  .page-leistungen {
    padding: 0.8rem !important;
  }

  .callout h1,
  .page-leistungen h1 {
    font-size: 1.05rem !important;
  }
  
  .callout h2 {
    font-size: 1rem !important;
  }
  
  .callout h3 {
    font-size: 0.95rem !important;
  }
  
  .callout p {
    font-size: 0.9rem !important;
  }

  .btn {
    font-size: 0.9rem !important;
    padding: 0.6rem 0.7rem !important;
  }
  
  .row {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .callout,
  .page-leistungen {
    padding: 0.85rem !important;
  }
}

/* ========================================================================== */
/* Konsolidiert: vormals css/site-nav.css                                      */
/* ========================================================================== */
/**
 * Hauptnavigation im Stil Design/Page 4.htm:
 * Logo + horizontale Links (ab Large), darunter Hamburger mit dunklem Off-Canvas-Panel.
 */

/* Volle Breite für den Inhalt (keine linke Menüspalte mehr) */
#site-content-column.large-12 {
  width: 100% !important;
  float: none !important;
  max-width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.site-header {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 0;
}

/* Header bündig an Viewport-Oberkante (falls globale Layouts/Frameworks oben 1–8px einführen) */
.site-header__sheet {
  margin-top: 0 !important;
}

/* Admin: Hinweis bei Nutzer-Impersonation (unterhalb der Menüleiste) */
.mm-impersonation-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0 0 12px 12px;
  background: linear-gradient(180deg, rgba(255, 193, 59, 0.35) 0%, rgba(255, 193, 59, 0.2) 100%);
  border: 1px solid rgba(180, 120, 0, 0.35);
  border-top: none;
  font-size: 0.86rem;
  font-weight: 600;
  color: #3d2e0a;
}

.mm-impersonation-banner__txt {
  flex: 1 1 auto;
  min-width: 0;
}

.mm-impersonation-banner__form {
  margin: 0;
  flex: 0 0 auto;
}

.mm-impersonation-banner__btn {
  margin: 0;
  padding: 0.35rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 700;
  border-radius: 8px;
  border: 1px solid rgba(90, 37, 64, 0.35);
  background: #fff;
  color: #5a2540;
  cursor: pointer;
}

.mm-impersonation-banner__btn:hover {
  background: rgba(255, 255, 255, 0.92);
}

body.mm-theme-dark .mm-impersonation-banner {
  background: linear-gradient(180deg, rgba(200, 150, 40, 0.35) 0%, rgba(120, 90, 20, 0.25) 100%);
  border-color: rgba(255, 210, 120, 0.35);
  color: #f5ecd8;
}

body.mm-theme-dark .mm-impersonation-banner__btn {
  background: #1b2029;
  color: #e7ecf6;
  border-color: rgba(231, 236, 246, 0.35);
}

.site-header__sheet {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.65rem clamp(0.75rem, 3vw, 2rem);
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.site-header__logo {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem 1rem;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  text-decoration: none !important;
  color: inherit;
}

/* Doppelte Höhe zur Menüzeile (Basis: .site-nav__link--desktop), kein zusätzlicher Abstand am Bild */

.site-header__brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  flex: 0 1 auto;
}

.site-header__wordmark {
  display: block;
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.05rem, 2.8vw, 1.65rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.site-header__wordmark-part {
  display: inline;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* „my“: Orange → Pfirsich */
.site-header__wordmark-part--my {
  background-image: linear-gradient(100deg, #e87012 0%, #f6c28a 100%);
}

/* „MealMate“: Türkis → hell */
.site-header__wordmark-part--mm {
  background-image: linear-gradient(100deg, #148f82 0%, #6fd4c5 100%);
}

.site-header__tagline {
  display: block;
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.68rem, 1.65vw, 0.82rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.04em;
  color: #1a2b3c;
  margin-top: 0.2rem;
  max-width: 22rem;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}

.site-nav__desktop {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.15rem 0.35rem;
}

/* Profil + Credits als rechte Spalte (Credits unter Profil) */
.site-nav__item--account-col {
  display: flex;
  align-items: center;
}

.site-nav__account-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.02rem;
  line-height: 1.15;
}

.site-nav__account-col .site-nav__link--desktop {
  height: auto;
  min-height: 0;
  padding: 0.12rem 0.8rem;
}

.site-nav__account-col .site-nav__link--account-tier-primary {
  font-size: 0.9rem;
  padding-top: 0.18rem;
}

.site-nav__account-col .site-nav__link--account-tier-secondary {
  font-size: 0.78rem;
  font-weight: 600;
  padding-bottom: 0.18rem;
  opacity: 0.92;
}

.site-nav__panel .site-nav__item--account-col {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-nav__account-col--panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  padding: 0.35rem 0 0.5rem;
}

.site-nav__account-col--panel .site-nav__link--panel {
  margin: 0.2rem 0.8rem;
  text-align: center;
}

.site-nav__account-col--panel .site-nav__link--account-tier-secondary {
  font-size: 0.92rem;
  opacity: 0.95;
}

.site-nav__item {
  position: relative;
}

.site-nav__link {
  text-decoration: none !important;
  font-weight: 600;
  font-size: 0.9rem;
  transition: color 0.15s ease, background 0.15s ease;
}

/* Desktop-Kopfzeile: wie Fußzeilen-Links (dunkel, Hover Gold) — feste Höhe = Admin-<summary> wie andere Links */
.site-nav__link--desktop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 2.35rem;
  min-height: 2.35rem;
  line-height: 1.2;
  color: #2e2e2e !important;
  padding: 0 0.8rem;
  border-radius: 10px;
  background: transparent !important;
  border: 0;
  box-shadow: none;
}

.site-nav__link--desktop:hover,
.site-nav__link--desktop:focus {
  color: #eeb16d !important;
  background: transparent !important;
}

.site-nav__disclosure {
  position: relative;
  margin: 0;
  padding: 0;
}

.site-nav__summary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  list-style: none;
}

.site-nav__summary::-webkit-details-marker {
  display: none;
}

.site-nav__summary::marker {
  content: "";
}

.site-nav__summary--desktop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 2.35rem;
  min-height: 2.35rem;
  line-height: 1.2;
  color: #2e2e2e !important;
  padding: 0 0.8rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: color 0.15s ease, background 0.15s ease;
  background: transparent !important;
  box-shadow: none;
}

.site-nav__summary--desktop:hover,
.site-nav__summary--desktop:focus {
  color: #eeb16d !important;
  background: transparent !important;
  outline: none;
}

.site-nav__caret {
  display: inline-block;
  width: 0.52rem;
  height: 0.52rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transform-origin: center;
  transition: transform 0.15s ease;
}

.site-nav__disclosure[open] > .site-nav__summary .site-nav__caret {
  transform: rotate(-135deg) translateY(-1px);
}

.site-nav__submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav__submenu--desktop {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  min-width: 13.5rem;
  padding: 0.4rem;
  border-radius: 12px;
  background: rgba(33, 37, 42, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.24);
  z-index: 20;
}

.site-nav__submenu--desktop .site-nav__item {
  white-space: nowrap;
}

.site-nav__submenu--desktop .site-nav__link--desktop {
  display: block;
  height: auto;
  min-height: 2.35rem;
  padding: 0.6rem 0.9rem;
  border-radius: 9px;
  color: #f4f4f5 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-nav__submenu--desktop .site-nav__link--desktop:hover,
.site-nav__submenu--desktop .site-nav__link--desktop:focus {
  color: #ffffff !important;
  background: linear-gradient(180deg, #eeb16d 0%, #c98a45 100%) !important;
}

.site-nav__lang {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: 0.35rem;
  flex-shrink: 0;
}

.site-nav__lang-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  padding: 0.2rem;
  border-radius: 4px;
  text-decoration: none !important;
  opacity: 0.5;
  transition: opacity 0.15s ease, box-shadow 0.15s ease;
}

.site-nav__lang-link:hover,
.site-nav__lang-link:focus {
  opacity: 0.85;
  outline: none;
}

.site-nav__lang-link.is-active {
  opacity: 1;
  box-shadow: 0 0 0 2px rgba(238, 177, 109, 0.85);
}

.site-nav__lang-link:focus-visible {
  box-shadow: 0 0 0 2px rgba(20, 143, 130, 0.65);
}

.site-nav__lang-flag {
  display: block;
  width: 22px;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.site-nav__lang--panel {
  justify-content: center;
  margin: 0 1rem 0.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.site-nav__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  flex: 0 0 auto;
  color: #2e2e2e;
}

.site-nav__burger:hover,
.site-nav__burger:focus {
  color: #c98a45;
  outline: none;
}

.site-nav__burger:focus-visible {
  outline: 2px solid rgba(238, 177, 109, 0.8);
  outline-offset: 2px;
}

.site-nav__burger-icon {
  display: block;
}

/* Large+: horizontales Menü, kein Burger */
@media screen and (min-width: 64.063em) {
  .site-nav__desktop {
    display: flex;
  }

  .site-nav__burger {
    display: none !important;
  }
}

/* Bis Large: nur Burger */
@media screen and (max-width: 64em) {
  .site-nav__desktop {
    display: none !important;
  }

  .site-nav__burger {
    display: flex;
  }

  .site-header__brand {
    min-width: 0;
  }
}

@media screen and (max-width: 40em) {
  .site-header__sheet {
    padding: 0.6rem 0.75rem;
  }

  .site-header__tagline {
    font-size: 0.78rem;
  }
}

/* Overlay + Off-Canvas (Nicepage: dunkles Panel, halbtransparente Maske) */
.site-nav__overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

body.is-site-nav-open .site-nav__overlay {
  opacity: 1;
  visibility: visible;
}

.site-nav__offcanvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: min(280px, 88vw);
  max-width: 100%;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 3rem 0 2rem;
  background: rgba(0, 0, 0, 0.96);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.35);
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.28s ease;
}

body.is-site-nav-open .site-nav__offcanvas {
  transform: translateX(0);
}

.site-nav__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.75rem;
  line-height: 1;
}

.site-nav__close:hover,
.site-nav__close:focus {
  color: #eeb16d;
}

.site-nav__close::before {
  content: "\00d7";
  display: block;
}

.site-nav__panel {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0 1rem;
  text-align: center;
}

.site-nav__panel .site-nav__item {
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-nav__link--panel {
  display: block;
  color: #f4f4f5 !important;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  font-weight: 600;
  margin: 0.35rem 0.8rem;
  border-radius: 10px;
  background: linear-gradient(180deg, #6b6f76 0%, #4a4e54 100%);
}

.site-nav__link--panel:hover,
.site-nav__link--panel:focus {
  color: #ffffff !important;
  background: linear-gradient(180deg, #eeb16d 0%, #c98a45 100%);
}

.site-nav__summary--panel {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4f4f5 !important;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  font-weight: 600;
  margin: 0.35rem 0.8rem;
  border-radius: 10px;
  background: linear-gradient(180deg, #6b6f76 0%, #4a4e54 100%);
}

.site-nav__summary--panel:hover,
.site-nav__summary--panel:focus {
  color: #ffffff !important;
  background: linear-gradient(180deg, #eeb16d 0%, #c98a45 100%);
  outline: none;
}

.site-nav__submenu--panel {
  padding: 0 0 0.5rem;
  background: transparent;
}

.site-nav__submenu--panel .site-nav__item {
  border-bottom: 0;
}

.site-nav__submenu--panel .site-nav__link--panel {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  font-size: 0.95rem;
  color: #f4f4f5 !important;
}

body.is-site-nav-open {
  overflow: hidden;
}

@media screen and (min-width: 64.063em) {
  body.is-site-nav-open {
    overflow: auto;
  }

  .site-nav__overlay,
  .site-nav__offcanvas {
    display: none !important;
  }
}

/* ========================================================================== */
/* Startseite: nur die noch genutzten Bausteine                               */
/* (altes home-landing/home-hero/home-section System entfernt)                */
/* ========================================================================== */

/* Defaults fuer Startseiten-Akzente (werden von home-feature/home-btn genutzt) */
.mm-page-shell {
  --home-accent: #eeb16d;
  --home-accent-dark: #c98a45;
  --home-ink: #1a1a1a;
  --home-muted: #5c5348;
}

body.mm-theme-dark .mm-page-shell {
  --home-ink: #e7ecf6;
  --home-muted: rgba(231, 236, 246, 0.72);
}

/* Startseite: längere Feature-Texte bewusst einspaltig */

/* Buttons (Pill wie Nicepage u-btn-round) */

/* ========================================================================== */
/* Konsolidiert: vormals css/meine-rezepte-breads.css                          */
/* ========================================================================== */
/**
 * Meine Rezepte: Darstellung über Nicepage/Page-4 Klassen.
 * Diese Datei enthält nur kleine Fixes für dynamische Inhalte.
 */

/* Wrapper neutralisieren: Inhaltsboxen sollen in der gemeinsamen Galerie-Schale frei stehen */
.mm-page-shell .callout.page-leistungen {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

/* Rezeptübersicht: immer volle Breite (nicht auf .row/.u-sheet begrenzen) */
.row:has(#site-content-column .mm-meine-rezepte) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#site-content-column:has(.mm-meine-rezepte) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mm-meine-rezepte.u-section-4 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Gemeinsame Hero-Farbe fuer Listen-/Galerie-Seiten */
.mm-meine-rezepte {
  --mm-ink: #1a1a1a;
}

body.mm-theme-dark .mm-meine-rezepte {
  --mm-ink: #e7ecf6;
}

/* ==========================================================================
   Gemeinsame Galerie-Schale fuer fast alle Seiten
   ========================================================================== */
.mm-page-shell {
  --mm-ink: #1a1a1a;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.mm-theme-dark .mm-page-shell {
  --mm-ink: #e7ecf6;
}

.row:has(#site-content-column .mm-page-shell) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#site-content-column:has(.mm-page-shell) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mm-page-shell > .u-sheet.u-sheet-1 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box;
}

/* Standard-Inhaltskarten zentriert, max. 1180px — außer Rezept-Galerie / „Meine Rezepte“ (volle Breite) */
#site-content-column .mm-cook-card.mm-page-card {
  max-width: min(100%, var(--mm-layout-max));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Startseiten-Karte: Raster — World/Fair teilen sich eine Zeile mit gemeinsamer Oberkante (kein Float-Versatz) */
.mm-home-landing .mm-cook-card.mm-page-card {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 1.5rem;
  align-items: stretch;
}

.mm-home-landing .mm-cook-card.mm-page-card > * {
  grid-column: 1 / -1;
  min-width: 0;
}

#site-content-column:has(.mm-meine-rezepte:not(.mm-home-landing)) .mm-cook-card.mm-page-card {
  max-width: none !important;
}

/* Einkaufsliste: nur wenn .mm-einkauf-page im Inhaltsbereich (keine anderen mm-page-card-Seiten) */
#site-content-column:has(.mm-einkauf-page) .mm-cook-card.mm-page-card {
  max-width: none !important;
}

/* Admin Zutaten-Grunddatensatz: Karte über volle Inhaltsbreite */
#site-content-column:has(.mm-admin-ingredients-page) .mm-cook-card.mm-page-card {
  max-width: none !important;
}

.mm-admin-ingredients-page .mm-page-hero .mm-p9-hero-top__lead {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
  text-align: center;
}

.mm-admin-ingredients-page .mm-p9-hero-unique-title {
  text-align: center;
}

.mm-page-card {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  box-sizing: border-box;
}

.mm-page-hero {
  margin-bottom: 0;
}

.mm-page-hero .u-sheet.u-sheet-1 {
  min-height: 0 !important;
}

.mm-page-hero .mm-p9-hero-top__lead {
  width: min(100%, var(--mm-layout-max));
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}

.mm-page-shell .mm-p9-hero-unique-title {
  color: var(--mm-ink);
}

.mm-page-subtitle {
  margin: 0;
  text-align: center;
  color: rgba(26, 26, 26, 0.78);
}

.mm-page-shell .mm-page-subtitle.u-text-3 {
  font-size: clamp(1.06rem, 2vw, 1.2rem);
  line-height: 1.58;
}

body.mm-theme-dark .mm-page-subtitle {
  color: rgba(231, 236, 246, 0.78);
}

.mm-page-body {
  width: min(100%, 1120px);
  margin-left: auto;
  margin-right: auto;
}

/* Startseite: gleiches Grundgerüst wie rezepte-hinzufuegen + mm-pantry-panel (index.htm) */
.mm-home-hero-lead-wrap {
  text-align: center;
  width: 100%;
}

.mm-home-hero-lead-wrap .mm-p9-hero-unique-title {
  text-align: center;
}

.mm-home-page.mm-home-landing {
  padding-top: 0.75rem !important;
}

@media screen and (min-width: 64.063em) {
  .mm-home-page.mm-home-landing {
    padding-top: 1.25rem !important;
  }
}

/* Startseite: Upload direkt im CTA-Block (ohne zusätzliche Panel-Verschachtelung) */
.mm-home-cta-block.mm-rezept-add-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
}

.mm-home-cta-block.mm-rezept-add-panel > .mm-home-cta-block__body + .rezept-add-grid {
  margin-top: 1.1rem;
}

.mm-home-cta-block.mm-rezept-add-panel > .rezept-add-grid {
  flex: 0 1 auto;
  min-height: 0;
}

.mm-home-landing .mm-cook-card > .mm-home-cta-block + .mm-home-section-hr {
  margin-top: 1.35rem;
}

.mm-brand-inline {
  display: inline-block;
  height: 1.08em;
  width: auto;
  max-width: min(11.5rem, 42vw);
  vertical-align: -0.22em;
  margin: 0 0.06em;
  object-fit: contain;
}

.mm-home-cta-block__credits {
  text-align: left;
  margin: 1rem 0 0 !important;
  max-width: none;
}

.mm-home-primary-cta__btn {
  width: 100%;
  max-width: 22rem;
  box-sizing: border-box;
}

.mm-home-file-field {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.mm-home-landing .mm-pantry-panel .mm-pantry-panel__title.mm-cook-h3 {
  font-size: clamp(1.22rem, 2.35vw, 1.48rem);
  line-height: 1.32;
}

/* Erste Box wie rezepte-hinzufuegen.htm: Überschrift + Filter in .mm-cook-card */
.mm-meine-rezepte .mm-recipe-list-card {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  box-sizing: border-box;
}

.mm-meine-rezepte .mm-recipe-list-card .mm-recipe-filters.mm-recipe-filters--accordion {
  margin-bottom: 0;
}

/* Rezeptübersicht: Filterleiste wie andere Seiten max. 1180px; Kartenraster bleibt volle Breite */
.mm-meine-rezepte:not(.mm-home-landing) .mm-recipe-list-card .mm-recipe-filters.mm-recipe-filters--accordion {
  max-width: min(100%, var(--mm-layout-max));
  margin-left: auto;
  margin-right: auto;
}

.mm-meine-rezepte:not(.mm-home-landing) .mm-recipe-filter-empty {
  max-width: min(100%, var(--mm-layout-max));
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}

.mm-meine-rezepte .u-sheet.u-sheet-1 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

/* Kompakterer Abstand nach oben, weniger Mindesthöhe als Page-4 „Breads“ */
.mm-meine-rezepte .u-sheet-1 {
  min-height: 0 !important;
}

/* Nicepage hat für die Grid-Repeater in Page-4 fixe min-heights (z. B. 915px).
   Bei wenigen Rezepten wird sonst die Kartenhöhe unnötig gestreckt. */
.mm-meine-rezepte .u-repeater-1 {
  min-height: 0 !important;
  height: auto !important;
  align-content: start;
  display: grid !important;
  width: 100%;
  box-sizing: border-box;
  /* Schmal: 3 Spalten (siehe @media max-width 767px). Ab Tablet: feste kompakte Kachelbreite. */
  grid-template-columns: repeat(auto-fill, 195px) !important;
  gap: 20px 18px !important;
  justify-content: center;
}

.mm-meine-rezepte .u-repeater-1 > .mm-recipe-card {
  min-width: 0;
}

/* Rezeptgalerie / „Meine Rezepte“: ab Tablet dieselbe Kacheloptik wie im Screenshot (nicht nur mobile). */
@media (min-width: 768px) {
  .mm-meine-rezepte .u-list.u-list-1 {
    padding-left: clamp(10px, 1.8vw, 28px);
    padding-right: clamp(10px, 1.8vw, 28px);
    box-sizing: border-box;
  }

  .mm-meine-rezepte .u-repeater-1 > .mm-recipe-card {
    width: 100%;
    max-width: 100%;
    position: relative;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12) !important;
    box-sizing: border-box;
    overflow: hidden;
  }

  body.mm-theme-dark .mm-meine-rezepte .u-repeater-1 > .mm-recipe-card {
    background: #1b2029 !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.42) !important;
  }

  .mm-meine-rezepte .mm-recipe-card .mm-u-cardtitle {
    text-align: center !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    font-size: 0.95rem !important;
  }

  body.mm-theme-dark .mm-meine-rezepte .mm-recipe-card .mm-u-cardtitle {
    color: #e7ecf6 !important;
  }

  .mm-meine-rezepte.u-section-4 [class*="u-container-layout-"].mm-recipe-card__layout {
    padding: 14px 14px 20px !important;
  }
}

.mm-u-cardlink {
  display: block;
}

/* Klickfläche: Bild + Überschrift */
.mm-u-cardlink--with-title {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
  position: relative;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

/* Öffentlich/Privat (SVG) oben links auf der Kachel — gleiche Klasse wie in meine-rezepte.htm */
.mm-recipe-card__thumb .mm-recipe-privacy-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
  z-index: 3;
  width: 30px;
  height: 30px;
  pointer-events: none;
  display: block;
  line-height: 0;
}

.mm-recipe-privacy-badge__img {
  width: 100%;
  height: 100%;
  display: block;
}

/* Meine Rezepte: Privacy-Toggle liegt außerhalb des Karten-Links (Button in .mm-recipe-card__cover-wrap). */
.mm-meine-rezepte .mm-recipe-card__cover-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

.mm-meine-rezepte .mm-recipe-card__cover-wrap .mm-recipe-privacy-badge--toggle {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 4;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  appearance: none;
  display: block;
  font: inherit;
  color: inherit;
}

.mm-meine-rezepte .mm-recipe-card__cover-wrap .mm-recipe-privacy-badge--toggle:disabled {
  opacity: 0.65;
  cursor: wait;
}

.mm-recipe-card__thumb {
  position: relative;
  display: block;
  width: 100%;
}

/* Rezeptliste / Galerie: einheitlicher Bildrahmen, Bilder immer flächendeckend (Nicepage-Höhen überschreiben) */
.mm-meine-rezepte .mm-recipe-card__thumb {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 15px;
}

.mm-meine-rezepte .mm-recipe-card__thumb picture.mm-recipe-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.mm-meine-rezepte.u-section-4 .mm-recipe-card__thumb img.mm-u-cardimg {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center;
}

.mm-meine-rezepte.u-section-4 .mm-recipe-card__thumb .mm-u-cardimg--placeholder {
  height: 100%;
  min-height: 100%;
  margin-top: 0;
  margin-bottom: 0;
  box-sizing: border-box;
}

.mm-recipe-vegan-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 0;
  box-sizing: border-box;
  pointer-events: none;
  line-height: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.mm-recipe-vegan-badge__img {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  object-fit: contain;
  background: transparent;
}

/* Rezeptübersicht (Karten): grauer Kreis, weißes Icon — unten links im Bild */
.mm-recipe-card__thumb .mm-recipe-vegan-badge {
  left: 8px;
  bottom: 8px;
  width: 30px;
  height: 30px;
  padding: 5px;
  background: rgba(110, 110, 110, 0.92);
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}

.mm-recipe-card__thumb .mm-recipe-vegan-badge .mm-recipe-vegan-badge__img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

body.mm-theme-dark .mm-recipe-card__thumb .mm-recipe-vegan-badge {
  background: rgba(130, 130, 130, 0.88);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.28);
}

/* Falls es ein Vegetarisch-Badge gibt: gleicher Kontrast-Hintergrund */

/* Rezepttitel = Link: wie normaler Text, kein Link-Blau/Unterstreichung (auch :visited / global a:hover) */
.mm-recipe-card a.mm-u-cardlink--with-title,
.mm-recipe-card a.mm-u-cardlink--with-title:visited,
.mm-recipe-card a.mm-u-cardlink--with-title:hover,
.mm-recipe-card a.mm-u-cardlink--with-title:focus,
.mm-recipe-card a.mm-u-cardlink--with-title:focus-visible,
.mm-recipe-card a.mm-u-cardlink--with-title:active {
  text-decoration: none !important;
  color: #1a1a1a !important;
}

.mm-u-cardlink--with-title .mm-u-cardtitle {
  margin: 20px auto 0;
  text-decoration: none !important;
}

/* Nicepage setzt bei u-text-* teils letter-spacing: 2px; das wollen wir für Rezepttitel nicht */
.mm-recipe-card .mm-u-cardtitle {
  letter-spacing: 1px !important;
  font-weight: 250 !important;
  /* ~10 % kleiner als zuvor (Rezeptübersicht / Galerie) */
  font-size: 0.945rem !important;
  text-transform: none !important;
  line-height: 1.2;
  color: #1a1a1a !important;
  /* Flex: sonst min-width:auto → lange Wörter sprengen die Kartenbreite */
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  /* Umbrechen ohne Silbentrennung; anywhere erlaubt Notumbruch bei sehr langen Wörtern */
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: none;
  -webkit-hyphens: none;
}

/* Unter dem Titel: Zeit + kcal (pro Portion) */
.mm-recipe-card__meta-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 10px;
  margin-bottom: 2px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.2;
}

/* Karte als Spalte: „zuletzt gekocht“ + Zeit/kcal als gemeinsamer Block unten */
.mm-recipe-card__layout {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Herz-Favorit (Listen): Button liegt außerhalb des <a>, daher Karten-Padding plus Bild-Eckenabstand einrechnen. */
.mm-recipe-card .mm-recipe-fav-btn.mm-rezept-fav-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 30px;
  height: 30px;
  z-index: 4;
  border-radius: 50%;
  overflow: hidden;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
}

.mm-recipe-card .mm-recipe-fav-btn.mm-rezept-fav-badge:not(.is-active) {
  opacity: 0.65;
}

.mm-recipe-card .mm-recipe-fav-btn.mm-rezept-fav-badge.is-active {
  opacity: 1;
}

.mm-meine-rezepte.u-section-4 .mm-recipe-card .mm-recipe-fav-btn.mm-rezept-fav-badge {
  top: 22px;
  right: 22px;
}

.mm-recipe-card .mm-recipe-fav-btn.mm-rezept-fav-badge .mm-rezept-fav-badge__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mm-fav-login-overlay {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.mm-fav-login-overlay[hidden] {
  display: none !important;
}

.mm-fav-login-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 18, 24, 0.55);
}

.mm-fav-login-overlay__dialog {
  position: relative;
  z-index: 1;
  max-width: 420px;
  width: 100%;
  padding: 1.35rem 1.5rem;
  border-radius: 18px;
  background: #fff;
  color: #1a1a1a;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  box-sizing: border-box;
}

.mm-fav-login-overlay__title {
  margin: 0 0 0.75rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.25;
}

.mm-fav-login-overlay__text {
  margin: 0 0 1.1rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(26, 26, 26, 0.82);
}

.mm-fav-login-overlay__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.mm-fav-login-overlay__close {
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #f5f5f5;
  color: #1a1a1a;
  border-radius: 10px;
  padding: 0.6rem 1rem;
  font-size: 0.9rem;
  cursor: pointer;
}

.mm-fav-login-overlay__close:hover {
  background: #fff;
}

body.mm-theme-dark .mm-fav-login-overlay__dialog {
  background: #1b2029;
  color: #e7ecf6;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}

body.mm-theme-dark .mm-fav-login-overlay__text {
  color: rgba(231, 236, 246, 0.78);
}

body.mm-theme-dark .mm-fav-login-overlay__close {
  background: #121722;
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.16);
}

.mm-meine-rezepte .mm-recipe-card__admin-owner {
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 6px 10px 0;
  opacity: 0.78;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.mm-theme-dark .mm-meine-rezepte .mm-recipe-card__admin-owner {
  color: rgba(231, 236, 246, 0.72);
}

.mm-recipe-card__layout .mm-recipe-card__footer {
  margin-top: auto;
  padding-top: 10px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.mm-recipe-card__layout .mm-recipe-card__footer .mm-recipe-card__meta-row {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 0;
}

.mm-recipe-card__layout .mm-recipe-card__footer .mm-recipe-card__rating + .mm-recipe-card__meta-row {
  margin-top: 6px;
}

.mm-recipe-card__rating {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 2px;
  flex-wrap: wrap;
}

.mm-recipe-card__rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  line-height: 0;
}

.mm-recipe-card__rating-star {
  display: inline-block;
  padding: 0;
  line-height: 0;
}

.mm-recipe-card__rating-star-img {
  display: block;
  width: 13px;
  height: 13px;
  object-fit: contain;
  opacity: 0.26;
  filter: invert(75%) sepia(46%) saturate(593%) hue-rotate(334deg) brightness(98%) contrast(90%);
}

.mm-recipe-card__rating-star.is-active .mm-recipe-card__rating-star-img {
  opacity: 1;
}

.mm-recipe-card__rating-count {
  font-size: 0.7rem;
  font-weight: 600;
  color: rgba(26, 26, 26, 0.72);
  white-space: nowrap;
}

body.mm-theme-dark .mm-recipe-card__rating-count {
  color: rgba(231, 236, 246, 0.72);
}

.mm-recipe-card__stat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.mm-recipe-card__icon {
  flex-shrink: 0;
  color: rgba(26, 26, 26, 0.7);
}

.mm-recipe-card__meta-row .mm-recipe-card__icon {
  width: 14px;
  height: 14px;
}

.mm-recipe-card__stat-txt {
  white-space: nowrap;
}

/* Für echte <img> sicherstellen, dass es wie Nicepage "cover" wirkt */
img.mm-u-cardimg {
  object-fit: cover;
}

picture.mm-recipe-picture {
  display: block;
  width: 100%;
  line-height: 0;
}

/* Placeholder-DIV optisch wie Bildfläche */
.mm-u-cardimg--placeholder {
  background-image:
    radial-gradient(circle at 20% 20%, rgba(238, 177, 109, 0.55), transparent 60%),
    radial-gradient(circle at 75% 35%, rgba(0, 0, 0, 0.07), transparent 55%),
    linear-gradient(135deg, rgba(242, 242, 242, 1), rgba(255, 255, 255, 1));
}

/* Facetten-Filter: eine Zeile pro Facette (Label | Auswahl), auf dem Handy einklappbar */
.mm-recipe-filters.mm-recipe-filters--accordion {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.65rem;
  padding: 0;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.92);
  box-sizing: border-box;
}

.mm-recipe-filters--accordion > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.mm-recipe-filters--accordion > summary::-webkit-details-marker {
  display: none;
}

.mm-recipe-filters__summary {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) auto auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 10px;
  padding: 12px 14px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2a2f36;
  border-radius: 14px;
}

.mm-recipe-filters__summary-text {
  min-width: 0;
  max-width: 100%;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.25;
  color: inherit;
}

.mm-recipe-filters__summary-text--lead {
  flex-shrink: 0;
  justify-self: start;
  align-self: center;
}

.mm-recipe-filters__summary-sort-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  justify-self: end;
  justify-content: flex-end;
  align-self: center;
}

.mm-recipe-filters__summary-sort-wrap > label.mm-recipe-filters__summary-text {
  flex: 0 1 auto;
  margin: 0;
  padding: 0;
  cursor: default;
  white-space: nowrap;
  font-weight: 800;
}

.mm-recipe-filters__summary-sort-wrap select.mm-recipe-sort-select {
  font-weight: 400;
}

.mm-recipe-filters__summary-sort-wrap .mm-recipe-filters__control {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}

.mm-recipe-filters__summary-search-wrap {
  min-width: 0;
  display: flex;
  align-items: center;
  align-self: center;
}

.mm-recipe-filters__summary-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(42, 47, 54, 0.72);
  align-self: center;
}

.mm-recipe-filters__chev {
  display: block;
  transition: transform 0.2s ease;
}

.mm-recipe-filters--accordion[open] > .mm-recipe-filters__summary {
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 14px 14px 0 0;
}

.mm-recipe-filters--accordion[open] > .mm-recipe-filters__summary .mm-recipe-filters__chev {
  transform: rotate(180deg);
}

.mm-recipe-filters__body {
  padding: 0 12px 12px;
}

.mm-recipe-filters__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
}

/* Sortierung + Facetten: eine Zeile, umbrechend */
.mm-recipe-filters__inner--toolbar {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
}

.mm-recipe-filters__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 11rem;
  min-width: min(11rem, 100%);
  max-width: 100%;
}

.mm-recipe-filters__field--pantry-switch {
  flex: 1 1 auto;
  min-width: min(16rem, 100%);
  max-width: 100%;
  align-self: flex-end;
}

.mm-recipe-filters__field--favorites-switch {
  flex: 1 1 auto;
  min-width: min(16rem, 100%);
  max-width: 100%;
  align-self: flex-end;
}

.mm-recipe-filters__field.mm-recipe-filters__field--active {
  background: none;
  box-shadow: none;
}

/* Markierung nur im Value-Feld (Select bzw. Suchfeld), nicht am äußeren Field-Wrapper. */
.mm-recipe-filters__field.mm-recipe-filters__field--active .mm-recipe-filters__control select.mm-recipe-filter-select,
.mm-recipe-filters__field.mm-recipe-filters__field--active .mm-recipe-filters__control select.mm-recipe-sort-select,
.mm-recipe-filters__field.mm-recipe-filters__field--active .mm-recipe-filters__control select.mm-recipe-sammlung-select,
.mm-recipe-filters__summary .mm-recipe-search-input.mm-recipe-search-input--filter-active {
  background-color: rgba(34, 91, 141, 0.08);
  border-color: rgba(34, 91, 141, 0.24);
}

/* Saison + Ernährungsform + Vorrat-Switch: gemeinsame volle Breite unter den übrigen Filtern */
.mm-recipe-filters__inner--toolbar > .mm-recipe-filters__row--season-diet-pantry {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
}

.mm-recipe-filters__row--season-diet-pantry .mm-recipe-filters__field {
  flex: 1 1 11rem;
  min-width: min(11rem, 100%);
  max-width: 100%;
}

.mm-recipe-filters__row--season-diet-pantry .mm-recipe-filters__field--pantry-switch {
  flex: 1 1 auto;
  min-width: min(14rem, 100%);
}

.mm-recipe-filters__row--season-diet-pantry .mm-recipe-filters__field--favorites-switch {
  flex: 1 1 auto;
  min-width: min(14rem, 100%);
}

.mm-recipe-filters__pantry-toggle.mm-cook-step-ing-toggle {
  margin-left: 0;
  white-space: normal;
  max-width: 100%;
}

.mm-recipe-filters__favorites-toggle.mm-cook-step-ing-toggle {
  margin-left: 0;
  white-space: normal;
  max-width: 100%;
}

.mm-recipe-filters__pantry-toggle .mm-cook-step-ing-toggle__text {
  white-space: normal;
  text-align: left;
  line-height: 1.25;
  max-width: 14rem;
}

.mm-recipe-filters__favorites-toggle .mm-cook-step-ing-toggle__text {
  white-space: normal;
  text-align: left;
  line-height: 1.25;
  max-width: 14rem;
}

.mm-recipe-filters__field-label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(26, 26, 26, 0.78);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mm-recipe-filters__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px 12px;
  min-width: 0;
}

.mm-recipe-filters__control {
  flex: 1 1 0;
  min-width: 0;
}

.mm-recipe-filters__control select.mm-recipe-filter-select,
.mm-recipe-filters__control select.mm-recipe-sort-select,
.mm-recipe-filters__control select.mm-recipe-sammlung-select {
  margin: 0;
  width: 100%;
  min-width: 0;
  padding: 7px 30px 7px 10px;
  font-size: 0.9rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background-color: #fff;
  color: #1a1a1a;
  cursor: pointer;
  box-sizing: border-box;
}

/* Summary-Zeile: Sort-Select nur so breit wie Inhalt (Breite ergänzt per JS) */
.mm-recipe-filters__summary-sort-wrap .mm-recipe-filters__control select.mm-recipe-sort-select {
  width: auto;
  max-width: 100%;
  field-sizing: content;
}

.mm-recipe-filters__summary-search-wrap input.mm-recipe-search-input {
  margin: 0;
  width: 100%;
  min-width: 0;
  padding: 7px 10px;
  font-size: 0.88rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background-color: #fff;
  color: #1a1a1a;
  box-sizing: border-box;
}

.mm-recipe-filters__summary-search-wrap input.mm-recipe-search-input::placeholder {
  color: rgba(26, 26, 26, 0.45);
}

@media (max-width: 520px) {
  .mm-recipe-filters__summary {
    grid-template-columns: 1fr auto;
  }

  .mm-recipe-filters__summary-text--lead {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .mm-recipe-filters__summary-icon {
    grid-column: 2;
    grid-row: 1;
  }

  .mm-recipe-filters__summary-search-wrap {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .mm-recipe-filters__summary-sort-wrap {
    grid-column: 1 / -1;
    grid-row: 3;
    justify-self: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .mm-recipe-filters__summary-sort-wrap .mm-recipe-filters__control {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .mm-recipe-filters__body {
    padding: 10px 12px 12px;
  }
}

.mm-recipe-filter-empty[hidden] {
  display: none !important;
}

.mm-recipe-filter-empty:not([hidden]) {
  margin: 0 0 1rem;
}

.mm-recipe-pagination {
  margin: 22px auto 8px;
  padding: 12px 14px;
  max-width: min(100%, var(--mm-layout-max));
  border-top: 1px dashed rgba(74, 78, 84, 0.28);
  border-bottom: 1px dashed rgba(74, 78, 84, 0.28);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.mm-recipe-pagination[hidden] {
  display: none !important;
}

.mm-recipe-pagination__nav,
.mm-recipe-pagination__page {
  border: 0;
  background: transparent;
  color: #7a818a;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
}

.mm-recipe-pagination__page {
  min-width: 22px;
  height: 22px;
  padding: 0 2px;
}

.mm-recipe-pagination__page.is-active {
  color: #2f343b;
  font-weight: 800;
}

.mm-recipe-pagination__nav {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 2px solid rgba(107, 111, 118, 0.5);
  color: #4a4e54;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.9);
}

.mm-recipe-pagination__nav:hover,
.mm-recipe-pagination__page:hover {
  color: #2f343b;
}

.mm-recipe-pagination__nav:disabled {
  opacity: 0.45;
  cursor: default;
}

/* Darkmode: Filter-Box wie Seitenfläche; Selects wie Sortierung (rezept-ansehen .mm-cook-ing-sort__select) */
body.mm-theme-dark .mm-recipe-filters.mm-recipe-filters--accordion {
  background: #1b2029 !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

body.mm-theme-dark .mm-recipe-filters__summary {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-recipe-filters--accordion[open] > .mm-recipe-filters__summary {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.mm-theme-dark .mm-recipe-filters__summary-icon {
  color: rgba(231, 236, 246, 0.72);
}

body.mm-theme-dark .mm-recipe-filters__name,
body.mm-theme-dark .mm-recipe-filters__field-label {
  color: rgba(231, 236, 246, 0.82) !important;
}

body.mm-theme-dark .mm-recipe-filters__pantry-toggle .mm-cook-step-ing-toggle__text {
  color: rgba(231, 236, 246, 0.82) !important;
}

body.mm-theme-dark .mm-recipe-filters__favorites-toggle .mm-cook-step-ing-toggle__text {
  color: rgba(231, 236, 246, 0.82) !important;
}

body.mm-theme-dark .mm-recipe-filters__field.mm-recipe-filters__field--active {
  background: none;
  box-shadow: none;
}

body.mm-theme-dark .mm-recipe-filters__field.mm-recipe-filters__field--active .mm-recipe-filters__control select.mm-recipe-filter-select,
body.mm-theme-dark .mm-recipe-filters__field.mm-recipe-filters__field--active .mm-recipe-filters__control select.mm-recipe-sort-select,
body.mm-theme-dark .mm-recipe-filters__field.mm-recipe-filters__field--active .mm-recipe-filters__control select.mm-recipe-sammlung-select,
body.mm-theme-dark .mm-recipe-filters__summary .mm-recipe-search-input.mm-recipe-search-input--filter-active {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-filter-select,
body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-sort-select,
body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-sammlung-select {
  background: #11151c !important;
  color: #e7ecf6 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 10px;
}

body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-filter-select:hover,
body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-sort-select:hover,
body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-sammlung-select:hover {
  border-color: rgba(255, 255, 255, 0.32) !important;
}

body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-filter-select:focus,
body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-sort-select:focus,
body.mm-theme-dark .mm-recipe-filters__control select.mm-recipe-sammlung-select:focus {
  outline: 2px solid rgba(224, 96, 112, 0.45);
  outline-offset: 2px;
}

body.mm-theme-dark .mm-recipe-filters__summary-search-wrap input.mm-recipe-search-input {
  background: #11151c !important;
  color: #e7ecf6 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
}

body.mm-theme-dark .mm-recipe-filters__summary-search-wrap input.mm-recipe-search-input::placeholder {
  color: rgba(231, 236, 246, 0.42);
}

body.mm-theme-dark .mm-recipe-filters__summary-search-wrap input.mm-recipe-search-input:focus {
  outline: 2px solid rgba(224, 96, 112, 0.45);
  outline-offset: 2px;
}

body.mm-theme-dark .mm-recipe-pagination {
  border-top-color: rgba(231,236,246,0.22);
  border-bottom-color: rgba(231,236,246,0.22);
}

body.mm-theme-dark .mm-recipe-pagination__nav,
body.mm-theme-dark .mm-recipe-pagination__page {
  color: rgba(231,236,246,0.72);
}

body.mm-theme-dark .mm-recipe-pagination__page.is-active {
  color: #f4f4f5;
}

body.mm-theme-dark .mm-recipe-pagination__nav {
  border-color: rgba(125, 130, 139, 0.72);
  color: #e7ecf6;
  background: rgba(27, 32, 41, 0.9);
}

body.mm-theme-dark .mm-recipe-card__stat {
  background: #1b2029;
  color: #e7ecf6;
  border: 0;
  box-shadow: none;
  border-radius: 999px;
  padding: 3px 8px;
}

body.mm-theme-dark .mm-recipe-card__meta-row {
  flex-wrap: nowrap;
}

body.mm-theme-dark .mm-recipe-card__icon {
  color: rgba(231, 236, 246, 0.82);
}

body.mm-theme-dark .mm-recipe-card__stat-txt {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-recipe-card a.mm-u-cardlink--with-title,
body.mm-theme-dark .mm-recipe-card a.mm-u-cardlink--with-title:visited,
body.mm-theme-dark .mm-recipe-card a.mm-u-cardlink--with-title:hover,
body.mm-theme-dark .mm-recipe-card a.mm-u-cardlink--with-title:focus,
body.mm-theme-dark .mm-recipe-card a.mm-u-cardlink--with-title:focus-visible,
body.mm-theme-dark .mm-recipe-card a.mm-u-cardlink--with-title:active {
  color: #e7ecf6 !important;
  text-decoration: none !important;
}

body.mm-theme-dark .mm-recipe-card .mm-u-cardtitle {
  color: #e7ecf6 !important;
}

.mm-recipe-card__gekocht {
  margin: 0 8px 0;
  font-size: 0.75rem;
  font-weight: 400;
  color: rgba(26, 26, 26, 0.68);
  line-height: 1.35;
}

.mm-recipe-card__layout .mm-recipe-card__footer .mm-recipe-card__gekocht {
  margin-top: 0;
}

body.mm-theme-dark .mm-recipe-card__gekocht {
  color: rgba(231, 236, 246, 0.62);
}

/**
 * Schmale Viewports: Raster + Karten wie Referenz-UI (helle Karten, Schatten, 3 Spalten).
 */
@media (max-width: 767px) {
  .mm-meine-rezepte .u-list.u-list-1 {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  /* 3 Spalten, gleichmäßiger Abstand — entspricht der kompakten Kachel-Ansicht */
  .mm-meine-rezepte .u-repeater-1 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 10px !important;
  }

  .mm-meine-rezepte .u-repeater-1 > .mm-recipe-card {
    width: 100%;
    max-width: 100%;
    position: relative;
    border-radius: 15px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    box-sizing: border-box;
    overflow: hidden;
  }

  body.mm-theme-dark .mm-meine-rezepte .u-repeater-1 > .mm-recipe-card {
    background: #1b2029 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.38) !important;
  }

  .mm-meine-rezepte .mm-recipe-card .mm-u-cardtitle {
    text-align: center !important;
    font-size: clamp(0.62rem, 2.75vw, 0.78rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    margin-top: 10px !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
  }

  body.mm-theme-dark .mm-meine-rezepte .mm-recipe-card .mm-u-cardtitle {
    color: #e7ecf6 !important;
  }

  .mm-meine-rezepte .mm-recipe-card__layout > p.u-text {
    font-size: clamp(0.58rem, 2.5vw, 0.72rem) !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
  }

  .mm-meine-rezepte .mm-recipe-card__meta-row {
    font-size: clamp(0.5rem, 2.15vw, 0.6rem);
    font-weight: 500;
    gap: 0.28rem;
    margin-top: 6px;
    margin-bottom: 0;
    color: rgba(26, 26, 26, 0.62);
  }

  body.mm-theme-dark .mm-meine-rezepte .mm-recipe-card__meta-row {
    color: rgba(231, 236, 246, 0.62);
  }

  .mm-meine-rezepte .mm-recipe-card__icon {
    width: 11px !important;
    height: 11px !important;
  }

  .mm-meine-rezepte .mm-recipe-card__stat-txt {
    color: inherit;
  }

  .mm-meine-rezepte .mm-recipe-card__rating-count {
    font-size: clamp(0.45rem, 1.9vw, 0.55rem);
  }

  .mm-meine-rezepte .mm-recipe-card__rating-star-img {
    width: 11px;
    height: 11px;
  }

  .mm-meine-rezepte .mm-recipe-card__thumb .mm-recipe-privacy-badge,
  .mm-meine-rezepte .mm-recipe-card__cover-wrap .mm-recipe-privacy-badge--toggle {
    width: 24px;
    height: 24px;
    top: 6px;
    left: 6px;
  }

  .mm-meine-rezepte .mm-recipe-card__thumb {
    border-radius: 10px;
  }

  .mm-meine-rezepte .mm-recipe-card__thumb .mm-recipe-vegan-badge {
    left: 6px;
    bottom: 6px;
    width: 24px;
    height: 24px;
    padding: 4px;
  }

  .mm-meine-rezepte.u-section-4 .mm-recipe-card .mm-recipe-fav-btn.mm-rezept-fav-badge {
    top: 16px;
    right: 14px;
    width: 24px;
    height: 24px;
  }

  .mm-meine-rezepte .mm-recipe-card__gekocht {
    font-size: clamp(0.55rem, 2.2vw, 0.65rem);
    margin-left: 2px;
    margin-right: 2px;
  }

  .mm-meine-rezepte .mm-recipe-card__layout .mm-recipe-card__footer {
    padding-top: 4px;
    gap: 2px;
  }

  body.mm-theme-dark .mm-meine-rezepte .mm-recipe-card__stat {
    padding: 2px 5px;
  }

  .mm-meine-rezepte.u-section-4 [class*="u-container-layout-"].mm-recipe-card__layout {
    padding: 10px 8px 10px !important;
  }
}

/* —— Vorräte (Pantry-UI) —— */
.mm-pantry-page .mm-p9-hero-unique-title {
  text-align: center;
}

/* Vorräte: ein Akkordeon „KI-Funktionen“ — links Bild-Upload, rechts KI-Kategorisierung */
.mm-pantry-ai-functions {
  margin: 0 1rem 1rem;
  box-sizing: border-box;
}

.mm-pantry-ai-functions__body {
  padding-top: 2px;
}

.mm-pantry-ai-functions > .mm-pantry-accordion__summary .mm-pantry-panel__title,
.mm-rezept-add-page .mm-pantry-ai-functions > .mm-pantry-ai-functions__body > .mm-pantry-panel__title:first-child {
  font-size: 1.14rem;
  line-height: 1.32;
  font-weight: 700;
  margin: 0;
}

.mm-rezept-add-page .mm-rezept-add-ki-intro {
  text-align: center;
  margin: 10px 0 12px;
}

.mm-pantry-panel__title {
  margin: 0 0 10px;
}

.mm-pantry-accordion {
  overflow: hidden;
}

.mm-pantry-accordion > summary {
  list-style: none;
}

.mm-pantry-accordion > summary::-webkit-details-marker {
  display: none;
}

.mm-pantry-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

.mm-pantry-accordion__summary .mm-pantry-panel__title {
  margin: 0;
}

.mm-pantry-accordion__chev {
  flex: 0 0 auto;
  color: rgba(90, 37, 64, 0.8);
  transition: transform 0.15s ease;
}

body.mm-theme-dark .mm-pantry-accordion__chev {
  color: rgba(231, 236, 246, 0.8);
}

.mm-pantry-accordion[open] .mm-pantry-accordion__chev {
  transform: rotate(180deg);
}

.mm-pantry-accordion__body {
  margin-top: 10px;
}

.mm-pantry-muted {
  color: rgba(26, 26, 26, 0.72);
  font-size: 1.035rem;
  line-height: 1.62;
  margin: 0 0 12px;
}

body.mm-theme-dark .mm-pantry-muted {
  color: rgba(231, 236, 246, 0.78);
}

.mm-pantry-page .page-leistungen .rezept-file-field {
  margin-top: 6px;
}

.mm-einkauf-page .page-leistungen .rezept-file-field {
  margin-top: 6px;
}

.mm-pantry-status {
  margin: 10px 0 0;
  font-size: 0.92rem;
  color: rgba(90, 37, 64, 0.95);
}

body.mm-theme-dark .mm-pantry-status {
  color: rgba(224, 182, 196, 0.95);
}

body.mm-theme-dark .mm-pantry-tax-ai {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(20, 24, 31, 0.5);
}

/* KI-Funktionen: kein eigener Kasten um Steuerung + Vorschau */

body.mm-theme-dark .mm-pantry-tax-ai.mm-pantry-tax-ai--in-ai-functions {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.mm-pantry-ai-preview {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

body.mm-theme-dark .mm-pantry-ai-preview {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mm-pantry-preview__title {
  margin: 0 0 10px;
  font-size: 1rem;
}

body.mm-theme-dark .mm-pantry-ai-summary {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
}

body.mm-theme-dark .mm-pantry-ai-summary__title {
  color: #e7b8d0;
}

body.mm-theme-dark .mm-pantry-ai-summary__stats {
  color: rgba(231, 236, 246, 0.88);
}

body.mm-theme-dark .mm-pantry-ai-status--pantry {
  background: rgba(129, 199, 132, 0.22);
  color: #c8e6c9;
}

body.mm-theme-dark .mm-pantry-ai-status--recipe {
  background: rgba(100, 181, 246, 0.2);
  color: #bbdefb;
}

body.mm-theme-dark .mm-pantry-ai-status--new {
  background: rgba(233, 30, 99, 0.16);
  color: #f8bbd0;
}

.mm-pantry-preview-table-wrap {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.65);
}

body.mm-theme-dark .mm-pantry-preview-table-wrap,
body.mm-theme-dark .mm-pantry-table-wrap {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(20, 24, 31, 0.55);
}

.mm-pantry-preview-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.mm-pantry-preview-table th,
.mm-pantry-preview-table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  vertical-align: top;
}

body.mm-theme-dark .mm-pantry-preview-table th,
body.mm-theme-dark .mm-pantry-preview-table td,
body.mm-theme-dark .mm-pantry-table th,
body.mm-theme-dark .mm-pantry-table td {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #e7ecf6;
}

.mm-pantry-preview-table thead th {
  font-weight: 700;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(26, 26, 26, 0.68);
  background: rgba(90, 37, 64, 0.06);
}

body.mm-theme-dark .mm-pantry-list-wrap .mm-pantry-table thead th {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-pantry-preview-table thead th,
body.mm-theme-dark .mm-pantry-table thead th {
  color: rgba(231, 236, 246, 0.78);
  background: rgba(255, 255, 255, 0.06);
}

.mm-pantry-preview-table__col-check,
.mm-pantry-preview-table__td-check {
  width: 3rem;
  text-align: center;
  vertical-align: middle;
}

.mm-pantry-preview-table__col-ignore,
.mm-pantry-preview-table__td-ignore {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.mm-shopping-preview-ignore {
  font-size: 0.82rem;
  padding: 6px 10px;
}

.mm-pantry-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

body.mm-theme-dark .mm-pantry-label {
  color: rgba(231, 236, 246, 0.82);
}

.mm-pantry-input {
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  padding: 8px 12px;
  font-size: 0.95rem;
  box-sizing: border-box;
  background: #fff;
  color: #1a1a1a;
}

body.mm-theme-dark .mm-pantry-input {
  background: #1b2029;
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.18);
}

.mm-pantry-input--inline {
  min-width: 0;
  padding: 6px 8px;
  font-size: 0.88rem;
}

.mm-pantry-cloud-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 28px;
  align-items: flex-start;
}

.mm-pantry-cloud-aside {
  /* Department column: ~30% narrower than prior 240px cap → 168px */
  flex: 0 1 min(168px, 100%);
  min-width: 0;
}

.mm-pantry-cloud-section-title {
  margin: 0 0 10px;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: rgba(26, 26, 26, 0.92);
}

body.mm-theme-dark .mm-pantry-cloud-section-title {
  color: rgba(231, 236, 246, 0.95);
}

body.mm-theme-dark .mm-pantry-cloud-subhead {
  color: rgba(231, 236, 246, 0.9);
}

body.mm-theme-dark .mm-pantry-cloud-missing-block {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mm-pantry-cloud-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}

.mm-pantry-cloud-main {
  flex: 1 1 280px;
  min-width: 0;
}

.mm-pantry-filter-btn {
  display: inline-flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  text-align: left;
  padding: 7px 14px;
  border-radius: 20px;
  border: 1px solid var(--mm-pantry-pill-inactive-border);
  background: var(--mm-pantry-pill-inactive-bg);
  color: var(--mm-pantry-pill-inactive-text);
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.3;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.mm-pantry-filter-btn:hover {
  border-color: rgba(194, 24, 91, 0.45);
  background: #e8e8e8;
  color: #1a1a1a;
}

.mm-pantry-filter-btn.is-active {
  border-color: var(--mm-pantry-pill-active);
  background: var(--mm-pantry-pill-active);
  color: #fff;
  box-shadow: none;
}

.mm-pantry-filter-btn.is-active:hover {
  background: var(--mm-pantry-pill-active-hover);
  border-color: var(--mm-pantry-pill-active-hover);
  color: #fff;
}

body.mm-theme-dark .mm-pantry-filter-btn {
  background: rgba(255, 255, 255, 0.08);
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.22);
}

body.mm-theme-dark .mm-pantry-filter-btn:hover {
  border-color: rgba(236, 64, 122, 0.55);
  background: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-pantry-filter-btn.is-active {
  border-color: var(--mm-pantry-pill-active);
  background: var(--mm-pantry-pill-active);
  color: #fff;
}

body.mm-theme-dark .mm-pantry-filter-btn.is-active:hover {
  background: var(--mm-pantry-pill-active-hover);
  border-color: var(--mm-pantry-pill-active-hover);
}

.mm-pantry-chip-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: flex-start;
}

.mm-pantry-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 20px;
  border: 1px solid var(--mm-pantry-pill-inactive-border);
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.3;
  max-width: 100%;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mm-pantry-chip-variants {
  font-weight: 400;
  opacity: 0.72;
  font-size: 0.85em;
  margin-left: 2px;
  text-align: left;
}

body.mm-theme-dark .mm-pantry-chip--out .mm-pantry-chip-variants {
  opacity: 0.65;
}

.mm-pantry-chip--out {
  background: var(--mm-pantry-pill-inactive-bg);
  color: var(--mm-pantry-pill-inactive-text);
}

.mm-pantry-chip--out:hover {
  border-color: rgba(194, 24, 91, 0.4);
  background: #e3e3e3;
  color: #1a1a1a;
}

.mm-pantry-chip--in {
  border-color: var(--mm-pantry-pill-active);
  background: var(--mm-pantry-pill-active);
  color: #fff;
}

.mm-pantry-chip--in:hover {
  border-color: var(--mm-pantry-pill-active-hover);
  background: var(--mm-pantry-pill-active-hover);
  color: #fff;
}

body.mm-theme-dark .mm-pantry-chip--out {
  background: rgba(255, 255, 255, 0.07);
  color: rgba(231, 236, 246, 0.88);
  border-color: rgba(255, 255, 255, 0.2);
}

body.mm-theme-dark .mm-pantry-chip--out:hover {
  border-color: rgba(236, 64, 122, 0.5);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

body.mm-theme-dark .mm-pantry-chip--in {
  border-color: var(--mm-pantry-pill-active);
  background: var(--mm-pantry-pill-active);
  color: #fff;
}

body.mm-theme-dark .mm-pantry-chip--in:hover {
  border-color: var(--mm-pantry-pill-active-hover);
  background: var(--mm-pantry-pill-active-hover);
  color: #fff;
}

@media (max-width: 720px) {
  .mm-pantry-cloud-layout {
    flex-direction: column;
  }

  .mm-pantry-cloud-aside {
    flex-basis: 100%;
  }
}

body.mm-theme-dark .mm-pantry-user-taxonomy {
  --mm-pantry-pill-active: #e53935;
  --mm-pantry-pill-active-hover: #ef5350;
}

.mm-pantry-tax-status-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.mm-pantry-tax-status-msg {
  flex: 1;
  min-width: 0;
}

.mm-pantry-tax-retry-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  line-height: 0;
}

.mm-pantry-tax-retry-btn:hover {
  background: rgba(0, 0, 0, 0.04);
}

.mm-pantry-tax-retry-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.mm-pantry-board-sections {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

/* Vorräte: Baum pro Hauptgruppe (kompakt) */

body.mm-theme-dark .mm-pantry-region {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

body.mm-theme-dark .mm-pantry-region__title {
  color: rgba(231, 236, 246, 0.95);
  border-bottom-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}

body.mm-theme-dark .mm-pantry-subhead-row .mm-pantry-subhead-cell {
  color: rgba(231, 236, 246, 0.75);
  background: rgba(255, 255, 255, 0.04);
  border-left-color: rgba(231, 236, 246, 0.26);
}

body.mm-theme-dark .mm-pantry-subhead__text::before {
  background: rgba(231, 236, 246, 0.42);
}

body.mm-theme-dark .mm-pantry-cat-header td,
body.mm-theme-dark .mm-pantry-cat-header__cell {
  color: rgba(231, 236, 246, 0.55);
  border-bottom-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

body.mm-theme-dark .mm-pantry-cat-header--sub td,
body.mm-theme-dark .mm-pantry-cat-header--sub .mm-pantry-cat-header__cell--sub {
  color: rgba(231, 236, 246, 0.65);
  background: rgba(255, 255, 255, 0.03);
  border-left-color: rgba(231, 236, 246, 0.22);
}

body.mm-theme-dark .mm-pantry-cat-header--gruppe .mm-pantry-cat-header__cell {
  color: rgba(231, 236, 246, 0.92);
  border-bottom-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.07);
}

body.mm-theme-dark .mm-pantry-cat-header--gruppe:not(:first-child) .mm-pantry-cat-header__cell {
  border-top-color: rgba(255, 255, 255, 0.08);
}

body.mm-theme-dark .mm-pantry-table tbody tr.mm-pantry-data-row td {
  border-left-color: rgba(231, 236, 246, 0.14);
}

body.mm-theme-dark .mm-pantry-table tbody tr.mm-pantry-data-row:hover td {
  background: rgba(255, 255, 255, 0.05);
}

body.mm-theme-dark .mm-pantry-note-empty {
  color: rgba(231, 236, 246, 0.38);
}

body.mm-theme-dark .mm-pantry-td-note {
  color: rgba(231, 236, 246, 0.82);
}

body.mm-theme-dark .mm-pantry-preview-cat {
  color: rgba(231, 236, 246, 0.75);
}

body.mm-theme-dark .mm-pantry-badge {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(231, 236, 246, 0.9);
}

body.mm-theme-dark .mm-pantry-icon-btn {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-pantry-empty {
  color: rgba(231, 236, 246, 0.68);
}


.mm-pantry-discard-ai {
  background: rgba(0, 0, 0, 0.06) !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  color: #1a1a1a !important;
}

body.mm-theme-dark .mm-pantry-cancel-row,
body.mm-theme-dark .mm-pantry-discard-ai {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #e7ecf6 !important;
}

/* —— Einkaufsliste —— */
.mm-einkauf-page .mm-p9-hero-unique-title,
.mm-profil-page .mm-p9-hero-unique-title {
  text-align: center;
  font-size: clamp(1.8rem, 3.4vw, 2.5rem);
  line-height: 1.15;
}

.mm-einkauf-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem 1.25rem;
  padding: 0 1rem 1.25rem;
  max-width: min(100%, var(--mm-layout-max));
  margin: 0 auto;
  align-items: start;
}

/* Nur einkaufsliste.htm: .mm-einkauf-layout kommt dort exklusiv vor — 1180px-Cap aufheben */
.mm-einkauf-page .mm-einkauf-layout {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

@media screen and (min-width: 60em) {
  .mm-einkauf-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.mm-shopping-import-accordion {
  margin-bottom: 1rem;
}

/* Einkaufsliste KI-Karten: gleiche Höhe des grauen Icon-Kopfs (Datei: sonst wächst Kopf im flex-Label mit Kastenhöhe mit) */
.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-file-paste .rezept-text-paste__icon-img {
  width: 38px !important;
  height: 38px !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-paste__head {
  box-sizing: border-box;
  height: 3.625rem !important;
  min-height: 3.625rem !important;
  max-height: 3.625rem !important;
  padding: 0 1rem !important;
  align-items: center !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-file-paste__label > .rezept-text-paste__head.rezept-file-paste__head {
  flex: 0 0 3.625rem !important;
  align-self: stretch !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-paste.rezept-file-paste > .rezept-file-paste__label {
  align-items: stretch !important;
}

/* Gleiche Kartenhöhe wie Direkteingabe + weiße Flächen wachsen mit (Grid-Zeile = höchste Spalte) */
.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact {
  --mm-rezept-import-paste-min-h: 0;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-add-grid {
  align-items: stretch;
}

@media screen and (min-width: 52em) {
  .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-add-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-add-option {
  height: 100%;
  box-sizing: border-box;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-add-option__head {
  flex: 0 0 auto;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-form.rezept-form--stacked {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-form-field.rezept-file-field,
.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-form-field.rezept-text-field,
.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-form-field.rezept-manual-field {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-form-field > .rezept-text-paste {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-paste.rezept-manual-paste {
  min-height: 0 !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-paste.rezept-manual-paste .rezept-text-paste__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-paste.rezept-file-paste > .rezept-file-paste__label {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-file-paste__body {
  flex: 1 1 auto !important;
  min-height: 8rem !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-field .rezept-text-paste__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel.rezept-add-page--compact .rezept-text-field .rezept-text-paste__body .rezept-text-paste__textarea {
  flex: 1 1 auto !important;
  min-height: 8rem !important;
}

.mm-shopping-ai-functions-intro {
  text-align: center;
}

/* Einkaufsseite: Akkordeon-Titel („KI-Features …“) mittig */
.mm-einkauf-page .mm-shopping-import-accordion > .mm-pantry-accordion__summary {
  justify-content: center;
}

.mm-einkauf-page .mm-shopping-import-accordion > .mm-pantry-accordion__summary .mm-pantry-panel__title {
  text-align: center;
}

.mm-einkauf-page .mm-shopping-import-accordion > .mm-pantry-accordion__summary .mm-pantry-accordion__chev {
  margin-left: 12px;
}

body.mm-theme-dark .mm-einkauf-muted {
  color: rgba(231, 236, 246, 0.78);
}

body.mm-theme-dark .mm-einkauf-label {
  color: rgba(231, 236, 246, 0.82);
}

body.mm-theme-dark .mm-einkauf-input {
  background: #1b2029;
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.18);
}

.mm-einkauf-departments-toolbar {
  margin-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
}

.mm-einkauf-departments-toggle.mm-cook-step-ing-toggle {
  margin-left: 0;
}

.mm-einkauf-tiles-root {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

/* Abteilungs-Ansicht: Kachelblock je Abteilung zum Wrapper hin zentrieren */
.mm-einkauf-tiles-root > .mm-einkauf-dept {
  width: 100%;
  align-items: center;
}

.mm-einkauf-dept {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.mm-einkauf-dept:last-child {
  margin-bottom: 0;
}

.mm-einkauf-dept__title {
  margin: 0 0 10px;
  width: 100%;
  max-width: 100%;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.25;
  color: #3d2a32;
  letter-spacing: 0.02em;
  text-align: center;
}

body.mm-theme-dark .mm-einkauf-dept__title {
  color: rgba(231, 236, 246, 0.92);
}

.mm-einkauf-mode-start {
  font-size: 0.88rem;
  padding: 8px 14px;
}

.mm-einkauf-mode-start-wrap {
  margin-bottom: 12px;
  display: flex;
  justify-content: center;
}

/* Einkaufsmodus (Vollbild), analog Zubereitungsmodus */
.mm-einkauf-fs-overlay {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: stretch;
  justify-content: center;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  padding: env(safe-area-inset-top, 0) max(12px, env(safe-area-inset-right, 0)) env(safe-area-inset-bottom, 0)
    max(12px, env(safe-area-inset-left, 0));
  background: #eef0f4;
  color: #1a1a1a;
}

.mm-einkauf-fs-overlay[hidden] {
  display: none !important;
}

.mm-einkauf-fs-overlay:fullscreen,
.mm-einkauf-fs-overlay:-webkit-full-screen {
  background: #eef0f4;
}

.mm-einkauf-fs-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  /* Einkaufsmodus: volle Breite nutzen (kein Layout-Cap) */
  max-width: calc(100vw - 24px);
  height: 100%;
  max-height: 100%;
  margin: 0 auto;
  padding: clamp(12px, 2vw, 20px) clamp(14px, 3vw, 28px) clamp(14px, 2.5vw, 24px);
  box-sizing: border-box;
  min-height: 0;
}

.mm-einkauf-fs-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mm-einkauf-fs-title {
  margin: 0;
  grid-column: 2;
  text-align: center;
  /* Überschrift im Einkaufsmodus ~50% kleiner */
  font-size: clamp(0.9rem, 1.25vw + 0.25rem, 1.1rem);
  font-weight: 800;
  line-height: 1.2;
}

.mm-einkauf-fs-close {
  grid-column: 3;
  justify-self: end;
  margin: 0;
  padding: 10px 18px;
  font-size: 0.95rem;
  font-weight: 700;
  border-radius: 12px;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #fff;
  color: #1a1a1a;
  transition: background 0.15s ease;
}

.mm-einkauf-fs-close:hover,
.mm-einkauf-fs-close:focus {
  background: rgba(0, 0, 0, 0.05);
  outline: none;
}

.mm-einkauf-fs-body {
  flex: 1 1 0%;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 4px 0 8px;
}

.mm-einkauf-fs-tiles-wrap {
  border: none;
  background: transparent;
  padding: 0;
}

.mm-einkauf-tiles--fs {
  gap: 14px;
}

.mm-einkauf-tiles--fs .mm-einkauf-tile {
  flex: 0 0 172px;
  width: 172px;
}

.mm-einkauf-fs-footer {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 16px 0 0;
  margin-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mm-einkauf-fs-footer .mm-einkauf-complete-btn {
  max-width: min(100%, 440px);
  width: 100%;
}

body.mm-theme-dark .mm-einkauf-fs-overlay {
  background: #1a1f28;
  color: #e7ecf6;
}

body.mm-theme-dark .mm-einkauf-fs-overlay:fullscreen,
body.mm-theme-dark .mm-einkauf-fs-overlay:-webkit-full-screen {
  background: #1a1f28;
}

body.mm-theme-dark .mm-einkauf-fs-header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.mm-theme-dark .mm-einkauf-fs-close {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  color: #e7ecf6;
}

body.mm-theme-dark .mm-einkauf-fs-close:hover,
body.mm-theme-dark .mm-einkauf-fs-close:focus {
  background: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-einkauf-fs-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.mm-einkauf-cart {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

body.mm-theme-dark .mm-einkauf-cart {
  border-top-color: rgba(255, 255, 255, 0.1);
}

/* Override global H2/H3 typography from template */
.mm-einkauf-cart h2.mm-einkauf-cart__title,
.mm-einkauf-cart h3.mm-einkauf-cart__title,
.mm-einkauf-fs-header h2.mm-einkauf-cart__title,
.mm-einkauf-fs-cart h3.mm-einkauf-cart__title {
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 1.14rem !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: #3d2a32;
}

.mm-einkauf-cart__icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: url("/img/einkaufswagen.svg") center / contain no-repeat;
  mask: url("/img/einkaufswagen.svg") center / contain no-repeat;
  opacity: 0.95;
}

body.mm-theme-dark .mm-einkauf-cart__title {
  color: rgba(231, 236, 246, 0.92);
}

.mm-einkauf-cart__title--fs {
  margin-top: 12px;
}

.mm-einkauf-cart__wrap--fs {
  margin-bottom: 4px;
}

.mm-einkauf-cart__actions {
  margin-top: 12px;
  display: flex;
  justify-content: center;
}

.mm-einkauf-cart__actions--fs .mm-einkauf-complete-btn,
.mm-einkauf-cart__actions .mm-einkauf-complete-btn {
  max-width: min(100%, 440px);
  width: 100%;
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel .mm-shopping-manual-note-field--paste {
  margin-top: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel .mm-shopping-manual-note-field--paste .rezept-text-paste__input {
  border-radius: 0 !important;
}

body.mm-theme-dark .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel .mm-shopping-manual-row--paste-fields,
body.mm-theme-dark .mm-einkauf-page.mm-rezept-add-page .mm-shopping-import-panel .mm-shopping-manual-note-field--paste {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.mm-shopping-manual-note-field {
  margin-top: 10px;
}

.mm-einkauf-complete-btn {
  font-size: 0.88rem;
  padding: 8px 14px;
  max-width: 100%;
  text-align: center;
  white-space: normal;
  line-height: 1.35;
}

.mm-einkauf-complete-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Dark mode: gleicher Grauton wie :disabled → wirkt sonst „immer aus“. Primärfarbe wie Vorrat-Overlay. */
body.mm-theme-dark .mm-einkauf-complete-btn.mm-btn-edit:not(:disabled) {
  background: linear-gradient(155deg, #7cb342 0%, #558b2f 100%);
  color: #f7fcf0 !important;
  box-shadow: 0 4px 16px rgba(76, 118, 42, 0.38);
}

body.mm-theme-dark .mm-einkauf-complete-btn.mm-btn-edit:not(:disabled):hover,
body.mm-theme-dark .mm-einkauf-complete-btn.mm-btn-edit:not(:disabled):focus {
  background: linear-gradient(155deg, #8bc34a 0%, #689f38 100%);
  color: #f7fcf0 !important;
  box-shadow: 0 6px 20px rgba(76, 118, 42, 0.45);
}

/* Vorrat übernehmen: Vollflächige Kurz-Animation während der Anfrage */
.mm-einkauf-pantry-overlay {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0)) max(16px, env(safe-area-inset-right, 0))
    max(16px, env(safe-area-inset-bottom, 0)) max(16px, env(safe-area-inset-left, 0));
  box-sizing: border-box;
  background: rgba(248, 250, 252, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.32s ease, visibility 0.32s ease;
  pointer-events: none;
}

.mm-einkauf-pantry-overlay.mm-einkauf-pantry-overlay--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mm-einkauf-pantry-overlay[hidden] {
  display: none !important;
}

.mm-einkauf-pantry-overlay__inner {
  text-align: center;
  max-width: 22rem;
}

.mm-einkauf-pantry-overlay__visual {
  position: relative;
  width: 112px;
  height: 112px;
  margin: 0 auto 16px;
}

.mm-einkauf-pantry-overlay__ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  margin-left: -56px;
  margin-top: -56px;
  border-radius: 50%;
  border: 2px solid rgba(124, 179, 66, 0.35);
  animation: mm-einkauf-pantry-ripple 1.35s ease-out infinite;
  pointer-events: none;
}

.mm-einkauf-pantry-overlay__ring--b {
  animation-delay: 0.45s;
  border-color: rgba(85, 139, 47, 0.25);
}

.mm-einkauf-pantry-overlay__icon-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(155deg, #8bc34a 0%, #689f38 100%);
  color: #fff;
  box-shadow: 0 10px 28px rgba(85, 139, 47, 0.38);
  animation: mm-einkauf-pantry-icon-pop 0.85s ease-in-out infinite alternate;
}

.mm-einkauf-pantry-overlay__icon {
  display: block;
}

.mm-einkauf-pantry-overlay__label {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.4;
  color: rgba(26, 26, 26, 0.88);
}

@keyframes mm-einkauf-pantry-ripple {
  0% {
    transform: scale(0.55);
    opacity: 0.85;
  }
  100% {
    transform: scale(1.25);
    opacity: 0;
  }
}

@keyframes mm-einkauf-pantry-icon-pop {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.06);
  }
}

body.mm-einkauf-pantry-transferring .mm-einkauf-tile--done {
  animation: mm-einkauf-pantry-tile-nudge 0.7s ease-out both;
}

@keyframes mm-einkauf-pantry-tile-nudge {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(0);
  }
}

body.mm-theme-dark .mm-einkauf-pantry-overlay {
  background: rgba(18, 22, 28, 0.88);
}

body.mm-theme-dark .mm-einkauf-pantry-overlay__label {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-einkauf-pantry-overlay__ring {
  border-color: rgba(139, 195, 74, 0.4);
}

body.mm-theme-dark .mm-einkauf-pantry-overlay__ring--b {
  border-color: rgba(139, 195, 74, 0.22);
}

.mm-einkauf-tiles-wrap {
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.45);
  padding: 14px;
}

body.mm-theme-dark .mm-einkauf-tiles-wrap {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(20, 24, 31, 0.45);
}

.mm-einkauf-tiles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mm-einkauf-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 192px;
  width: 192px;
  aspect-ratio: 1;
  min-width: 0;
  container-type: inline-size;
  container-name: einkauf-tile;
  border-radius: 14px;
  overflow: hidden;
  border: 2px solid rgba(90, 37, 64, 0.35);
  background: linear-gradient(160deg, rgba(232, 245, 240, 0.95) 0%, rgba(255, 248, 235, 0.98) 100%);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

.mm-einkauf-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--mm-einkauf-tile-bg, none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.34;
  pointer-events: none;
  z-index: 0;
}

/* Zutatenfoto: möglichst dominant, Kachel nur leicht getönt */
.mm-einkauf-tile--has-ing-img {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 250, 240, 0.2) 100%);
}

.mm-einkauf-tile--has-ing-img::before {
  opacity: 1;
  transform: scale(1.14);
  transform-origin: 50% 42%;
  background-position: center 40%;
  background-size: contain;
}

.mm-einkauf-tile--done {
  width: 50%;
  max-width: 50%;
  justify-self: center;
  align-self: start;
  border-width: 1px;
  border-radius: 9px;
  border-color: rgba(120, 120, 120, 0.35);
  background: #d8d8d8;
  box-shadow: none;
  opacity: 0.72;
}

.mm-einkauf-tile--done::before {
  opacity: 0.42;
}

.mm-einkauf-tile--done.mm-einkauf-tile--has-ing-img {
  opacity: 0.9;
}

.mm-einkauf-tile--done.mm-einkauf-tile--has-ing-img::before {
  opacity: 1;
  transform: scale(1.1);
  transform-origin: 50% 40%;
}

.mm-einkauf-tile--done .mm-einkauf-tile__hit {
  padding: 38px 6px 8px;
  gap: 3px;
}

.mm-einkauf-tile--done .mm-einkauf-tile__name {
  font-size: 0.68rem;
  line-height: 1.2;
}

.mm-einkauf-tile--done .mm-einkauf-tile__meta {
  font-size: 0.6rem;
}

.mm-einkauf-tile--done .mm-einkauf-tile__subs {
  font-size: 0.56rem;
}

.mm-einkauf-tile--done .mm-einkauf-tile__added {
  font-size: clamp(0.64rem, 0.5rem + 1.65cqw, 0.82rem);
  opacity: 0.72;
}

.mm-einkauf-tile--done .mm-einkauf-tile__bought {
  font-size: 0.52rem;
  margin-top: 2px;
  letter-spacing: 0.04em;
}

body.mm-theme-dark .mm-einkauf-tile {
  border-color: rgba(231, 236, 246, 0.28);
  background: linear-gradient(160deg, rgba(45, 72, 58, 0.55) 0%, rgba(55, 48, 62, 0.6) 100%);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-einkauf-tile--done {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.08);
  opacity: 0.65;
}

body.mm-theme-dark .mm-einkauf-tile--done.mm-einkauf-tile--has-ing-img {
  opacity: 0.88;
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img {
  background: linear-gradient(160deg, rgba(28, 38, 34, 0.18) 0%, rgba(38, 34, 48, 0.24) 100%);
}

.mm-einkauf-tile__hit {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  margin: 0;
  /* Platz für Löschen oben links (Touch); unten Abschluss durch mm-einkauf-tile__bottom */
  padding: 46px 12px 10px;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  color: #1a1a1a;
  font: inherit;
  border-radius: 0;
}

.mm-einkauf-tile__delete {
  position: absolute;
  left: 8px;
  top: 8px;
  right: auto;
  bottom: auto;
  z-index: 3;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(90, 37, 64, 0.14);
  color: #5c5c5c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  cursor: pointer;
  padding: 0;
}

.mm-einkauf-tile__delete-icon {
  display: block;
  width: 15px;
  height: 15px;
  object-fit: contain;
  pointer-events: none;
}

.mm-einkauf-tile__delete:focus {
  outline: none;
}

.mm-einkauf-tile__delete:focus-visible {
  box-shadow: 0 0 0 2px rgba(90, 37, 64, 0.28);
}

/* Kommentar-Icon (Einkaufskachel, oben rechts — Löschen oben links) */
.mm-einkauf-tile__comment {
  position: absolute;
  right: 8px;
  top: 8px;
  left: auto;
  bottom: auto;
  z-index: 3;
  width: 37px;
  height: 37px;
  border: 0;
  border-radius: 999px;
  background: rgba(90, 37, 64, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  cursor: pointer;
  padding: 0;
}

.mm-einkauf-tile__comment--has {
  background: rgba(90, 37, 64, 0.22);
  box-shadow: inset 0 0 0 1px rgba(90, 37, 64, 0.35);
}

.mm-einkauf-tile__comment-icon {
  display: block;
  width: 21px;
  height: 21px;
  object-fit: contain;
  pointer-events: none;
}

.mm-einkauf-tile__comment:focus {
  outline: none;
}

.mm-einkauf-tile__comment:focus-visible {
  box-shadow: 0 0 0 2px rgba(90, 37, 64, 0.28);
}

/* Unterer Kachelstreifen: Kommentar optional, Datum immer unter dem Kommentar — optisch am unteren Kachelrand */
.mm-einkauf-tile__bottom {
  position: relative;
  z-index: 2;
  flex: 0 1 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  max-height: min(62%, 14rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 4px 8px 10px;
  box-sizing: border-box;
}

.mm-einkauf-tile__bottom .mm-einkauf-tile__comment-preview {
  flex: 1 1 auto;
  min-height: 0;
}

.mm-einkauf-tile__comment-preview {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0;
  padding: 6px 8px;
  box-sizing: border-box;
  font-size: var(--mm-einkauf-comment-fit-fs, clamp(0.52rem, 0.3rem + 6.2cqw, 1.28rem));
  font-weight: 600;
  line-height: 1.28;
  text-align: center;
  color: rgba(26, 26, 26, 0.94);
  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  max-height: min(9rem, 54%);
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__comment-preview {
  background: rgba(255, 255, 255, 0.8);
}

.mm-einkauf-tile--done .mm-einkauf-tile__comment-preview {
  font-size: var(--mm-einkauf-comment-fit-fs, clamp(0.46rem, 0.26rem + 5cqw, 1.06rem));
  line-height: 1.26;
  max-height: min(7.5rem, 56%);
}

.mm-einkauf-comment-dialog {
  position: fixed;
  inset: 0;
  z-index: 10065;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}

.mm-einkauf-comment-dialog[hidden] {
  display: none !important;
}

.mm-einkauf-comment-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.mm-einkauf-comment-dialog__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
  padding: 18px 18px 16px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

.mm-einkauf-comment-dialog__title {
  margin: 0 0 12px;
  font-size: 1.12rem;
  font-weight: 700;
  color: #1a1a1a;
}

/* Einzeilige Zeile wie Rezept bearbeiten (Titel): mm-meta-inline__panel-edit-row + mm-edit-form__input + Haken */
.mm-einkauf-comment-dialog .mm-meta-inline__panel--inline.mm-einkauf-comment-dialog__meta {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.mm-einkauf-comment-dialog .mm-meta-inline__panel-edit-row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.mm-einkauf-comment-dialog .mm-meta-inline__panel-fields {
  flex: 1 1 auto;
  min-width: 0;
}

.mm-einkauf-comment-dialog input.mm-edit-form__input:not([type="checkbox"]):not([type="radio"]) {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 7px 10px;
  font-size: 0.92rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #fff;
  color: #1a1d24;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
}

.mm-einkauf-comment-dialog input.mm-edit-form__input:focus {
  outline: none;
  border-color: rgba(0, 96, 180, 0.45);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(0, 96, 180, 0.12);
}

.mm-einkauf-comment-dialog .mm-meta-inline__panel-edit-row .mm-edit-ing__done {
  align-self: flex-end;
  margin: 0 0 1px 2px;
}

.mm-einkauf-comment-dialog .mm-edit-ing__done {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.mm-einkauf-comment-dialog .mm-edit-ing__done:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
}

.mm-einkauf-comment-dialog .mm-edit-ing__done:focus-visible {
  border-color: rgba(90, 95, 105, 0.45);
  outline: none;
  box-shadow: 0 0 0 2px rgba(90, 95, 105, 0.15);
}

.mm-einkauf-comment-dialog .mm-edit-ing__done-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mm-einkauf-comment-dialog .mm-edit-ing__done-icon img {
  width: 1.04rem;
  height: 1.04rem;
  display: block;
}

.mm-einkauf-tile__hit:focus {
  outline: none;
}

.mm-einkauf-tile__hit:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(90, 37, 64, 0.35);
}

body.mm-theme-dark .mm-einkauf-tile__hit {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-einkauf-tile__name {
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.75), 0 0 28px rgba(0, 0, 0, 0.45);
}

body.mm-theme-dark .mm-einkauf-tile__meta {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7), 0 0 20px rgba(0, 0, 0, 0.4);
}

body.mm-theme-dark .mm-einkauf-tile__subs {
  color: rgba(231, 236, 246, 0.78);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65), 0 0 16px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-einkauf-tile__delete {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(231, 236, 246, 0.88);
}

body.mm-theme-dark .mm-einkauf-tile__delete-icon {
  filter: invert(1) brightness(1.05);
}

body.mm-theme-dark .mm-einkauf-tile__comment {
  background: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-einkauf-tile__comment--has {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

body.mm-theme-dark .mm-einkauf-tile__comment-icon {
  filter: invert(1) brightness(1.05);
}

body.mm-theme-dark .mm-einkauf-tile__comment-preview {
  color: rgba(231, 236, 246, 0.94);
  background: rgba(18, 22, 30, 0.8);
  border-color: rgba(255, 255, 255, 0.14);
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__comment-preview {
  background: rgba(14, 18, 26, 0.8);
}

body.mm-theme-dark .mm-einkauf-comment-dialog__panel {
  background: #1b2029;
  border-color: rgba(255, 255, 255, 0.14);
}

body.mm-theme-dark .mm-einkauf-comment-dialog__title {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-einkauf-comment-dialog input.mm-edit-form__input:not([type="checkbox"]):not([type="radio"]) {
  background: #12161c;
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.mm-theme-dark .mm-einkauf-comment-dialog input.mm-edit-form__input:focus {
  border-color: rgba(120, 170, 230, 0.55);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 0 2px rgba(120, 170, 230, 0.14);
}

body.mm-theme-dark .mm-einkauf-comment-dialog .mm-edit-ing__done {
  background: rgba(24, 28, 34, 0.95);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: none;
}

body.mm-theme-dark .mm-einkauf-comment-dialog .mm-edit-ing__done:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
}

body.mm-theme-dark .mm-einkauf-comment-dialog .mm-edit-ing__done:focus-visible {
  border-color: rgba(200, 210, 230, 0.45);
  box-shadow: 0 0 0 2px rgba(120, 170, 230, 0.12);
}

body.mm-theme-dark .mm-einkauf-comment-dialog .mm-edit-ing__done-icon img {
  filter: invert(1);
}


body.mm-theme-dark .mm-einkauf-tile__hit:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(231, 236, 246, 0.35);
}

.mm-einkauf-tile__name {
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.25;
  word-break: break-word;
  hyphens: auto;
  text-align: center;
  width: 100%;
  max-width: 100%;
  text-shadow: 0 1px 4px rgba(255, 255, 255, 0.9), 0 0 20px rgba(255, 255, 255, 0.55);
}

.mm-einkauf-tile__meta {
  font-size: 0.82rem;
  font-weight: 600;
  opacity: 0.88;
  line-height: 1.2;
  text-align: center;
  width: 100%;
  max-width: 100%;
  text-shadow: 0 1px 4px rgba(255, 255, 255, 0.85), 0 0 16px rgba(255, 255, 255, 0.45);
}

.mm-einkauf-tile__subs {
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  opacity: 0.86;
  color: rgba(26, 26, 26, 0.82);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  text-align: center;
  width: 100%;
  max-width: 100%;
  text-shadow: 0 1px 4px rgba(255, 255, 255, 0.82), 0 0 16px rgba(255, 255, 255, 0.4);
}

/*
 * Zutatenbild: keine milchige Frostfläche (backdrop-blur würde das Motiv „wegwischen“).
 * Nur leichter Text-Kontrast per Schatten / dünnem Rand — Bild bleibt durchgehend sichtbar.
 */
.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__label-band {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
  max-width: 100%;
  padding: 6px 8px;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__name {
  -webkit-text-stroke: 0.35px rgba(255, 255, 255, 0.92);
  text-shadow:
    0 0 6px rgba(255, 255, 255, 1),
    0 0 16px rgba(255, 255, 255, 0.95),
    0 0 28px rgba(255, 255, 255, 0.75),
    0 1px 4px rgba(0, 0, 0, 0.28);
}

.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__meta {
  opacity: 1;
  -webkit-text-stroke: 0.3px rgba(255, 255, 255, 0.88);
  text-shadow:
    0 0 4px rgba(255, 255, 255, 1),
    0 0 12px rgba(255, 255, 255, 0.9),
    0 0 24px rgba(255, 255, 255, 0.65),
    0 1px 4px rgba(0, 0, 0, 0.22);
}

.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__subs {
  opacity: 1;
  color: rgba(26, 26, 26, 0.9);
  -webkit-text-stroke: 0.28px rgba(255, 255, 255, 0.88);
  text-shadow:
    0 0 4px rgba(255, 255, 255, 1),
    0 0 12px rgba(255, 255, 255, 0.88),
    0 0 24px rgba(255, 255, 255, 0.58),
    0 1px 4px rgba(0, 0, 0, 0.2);
}

.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__bought {
  -webkit-text-stroke: 0.3px rgba(255, 255, 255, 0.85);
  text-shadow:
    0 0 4px rgba(255, 255, 255, 1),
    0 0 12px rgba(255, 255, 255, 0.85),
    0 1px 4px rgba(0, 0, 0, 0.3);
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__label-band {
  background: transparent;
  box-shadow: none;
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__name {
  -webkit-text-stroke: 0.4px rgba(0, 0, 0, 0.65);
  text-shadow:
    0 0 6px rgba(0, 0, 0, 0.85),
    0 0 20px rgba(0, 0, 0, 0.65),
    0 0 32px rgba(0, 0, 0, 0.45),
    0 1px 2px rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__meta {
  -webkit-text-stroke: 0.35px rgba(0, 0, 0, 0.6);
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.8),
    0 0 16px rgba(0, 0, 0, 0.55),
    0 1px 2px rgba(255, 255, 255, 0.08);
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__subs {
  color: rgba(231, 236, 246, 0.82);
  -webkit-text-stroke: 0.32px rgba(0, 0, 0, 0.58);
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.78),
    0 0 16px rgba(0, 0, 0, 0.48),
    0 1px 2px rgba(255, 255, 255, 0.06);
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__bought {
  -webkit-text-stroke: 0.35px rgba(0, 0, 0, 0.55);
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.75),
    0 0 16px rgba(0, 0, 0, 0.5);
}

.mm-einkauf-tile__added {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  margin: 0;
  margin-top: auto;
  width: 100%;
  max-width: 100%;
  text-align: center;
  font-size: clamp(0.74rem, 0.58rem + 2cqw, 0.98rem);
  font-weight: 600;
  line-height: 1.2;
  opacity: 0.88;
  letter-spacing: 0.02em;
  pointer-events: none;
}

.mm-einkauf-tile--has-ing-img .mm-einkauf-tile__added {
  padding: 2px 6px;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 0.95;
  color: #1a1a1a;
  -webkit-text-stroke: 0.25px rgba(255, 255, 255, 0.9);
  text-shadow:
    0 0 4px rgba(255, 255, 255, 1),
    0 0 12px rgba(255, 255, 255, 0.85),
    0 1px 2px rgba(0, 0, 0, 0.2);
}

body.mm-theme-dark .mm-einkauf-tile--has-ing-img .mm-einkauf-tile__added {
  background: transparent;
  box-shadow: none;
  color: rgba(231, 236, 246, 0.95);
  opacity: 1;
  -webkit-text-stroke: 0.3px rgba(0, 0, 0, 0.55);
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.75),
    0 0 16px rgba(0, 0, 0, 0.5);
}

body.mm-theme-dark .mm-einkauf-tile__added {
  opacity: 0.82;
  color: rgba(231, 236, 246, 0.92);
}

.mm-einkauf-tile__bought {
  margin-top: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #3d3d3d;
  text-align: center;
  width: 100%;
  max-width: 100%;
}

body.mm-theme-dark .mm-einkauf-tile__bought {
  color: rgba(231, 236, 246, 0.92);
}

/* Einkaufsliste: kompaktere Kacheln auf Handybreiten */
@media screen and (max-width: 36rem) {
  .mm-einkauf-tiles-wrap {
    padding: 8px;
  }

  .mm-einkauf-tiles {
    gap: 6px;
  }

  .mm-einkauf-tiles--fs {
    gap: 6px;
  }

  .mm-einkauf-tiles .mm-einkauf-tile {
    flex-basis: 101px;
    width: 101px;
  }

  .mm-einkauf-tile {
    border-radius: 10px;
    border-width: 1px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  }

  .mm-einkauf-tile__hit {
    padding: 38px 5px 8px;
    gap: 3px;
  }

  .mm-einkauf-tile__name {
    font-size: 0.68rem;
    line-height: 1.15;
    font-weight: 800;
  }

  .mm-einkauf-tile__meta {
    font-size: 0.58rem;
    font-weight: 600;
    line-height: 1.15;
  }

  .mm-einkauf-tile__subs {
    font-size: 0.52rem;
    font-weight: 600;
    line-height: 1.15;
    -webkit-line-clamp: 3;
  }

  .mm-einkauf-tile__added {
    font-size: clamp(0.62rem, 0.52rem + 1.8cqw, 0.82rem);
  }

  .mm-einkauf-tile__comment-preview {
    padding: 5px 6px;
    max-height: min(7rem, 56%);
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__comment-preview {
    max-height: min(6rem, 58%);
  }

  .mm-einkauf-tile__bought {
    font-size: 0.5rem;
    margin-top: 2px;
    letter-spacing: 0.03em;
  }

  .mm-einkauf-tile--done {
    border-radius: 7px;
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__hit {
    padding: 32px 3px 6px;
    gap: 2px;
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__name {
    font-size: 0.58rem;
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__meta {
    font-size: 0.5rem;
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__subs {
    font-size: 0.46rem;
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__added {
    font-size: clamp(0.54rem, 0.44rem + 1.45cqw, 0.72rem);
  }

  .mm-einkauf-tile--done .mm-einkauf-tile__bought {
    font-size: 0.44rem;
    letter-spacing: 0.02em;
  }

}

body.mm-theme-dark .mm-einkauf-table-wrap {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(20, 24, 31, 0.55);
}

body.mm-theme-dark .mm-einkauf-table th,
body.mm-theme-dark .mm-einkauf-table td {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #e7ecf6;
}

body.mm-theme-dark .mm-einkauf-table thead th {
  color: rgba(231, 236, 246, 0.78);
  background: rgba(255, 255, 255, 0.06);
}

body.mm-theme-dark .mm-einkauf-icon-btn {
  color: #e7ecf6;
}

.mm-einkauf-empty {
  margin: 12px 0 0;
  font-size: 0.95rem;
  color: rgba(26, 26, 26, 0.68);
}

.mm-einkauf-empty-wrap {
  padding: 22px 18px;
  text-align: center;
}

.mm-einkauf-empty-wrap .mm-einkauf-empty {
  margin-top: 0;
}

.mm-einkauf-empty--hint {
  margin-top: 6px;
  font-size: 0.88rem;
}

body.mm-theme-dark .mm-einkauf-empty {
  color: rgba(231, 236, 246, 0.68);
}

body.mm-theme-dark .mm-einkauf-pantry-list {
  color: rgba(231, 236, 246, 0.88);
}

body.mm-theme-dark .mm-einkauf-cancel-row {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #e7ecf6 !important;
}

/* Admin: Zutaten-Taxonomie — gleiche Pillen wie Vorräte (hellgrau), aktive Obergruppe rot */
.mm-admin-zutat-taxonomie {
  --mm-pantry-pill-active: #c62828;
  --mm-pantry-pill-active-hover: #b71c1c;
  --mm-pantry-pill-inactive-bg: #ececec;
  --mm-pantry-pill-inactive-border: #d5d5d5;
  --mm-pantry-pill-inactive-text: #2a2a2a;
}

body.mm-theme-dark .mm-admin-zutat-taxonomie {
  --mm-pantry-pill-active: #e53935;
  --mm-pantry-pill-active-hover: #ef5350;
}

.mm-admin-zutat-tax-layout .mm-pantry-cloud-aside,
.mm-admin-zutat-tax-layout .mm-pantry-cloud-main {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.045);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

body.mm-theme-dark .mm-admin-zutat-tax-layout .mm-pantry-cloud-aside,
body.mm-theme-dark .mm-admin-zutat-tax-layout .mm-pantry-cloud-main {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
}

.mm-admin-zutat-extra-form {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

body.mm-theme-dark .mm-admin-zutat-extra-form {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mm-admin-zutat-extra-label {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.88);
  margin-bottom: 4px;
}

body.mm-theme-dark .mm-admin-zutat-extra-label {
  color: rgba(231, 236, 246, 0.9);
}

.mm-admin-zutat-extra-hint {
  margin: 0 0 8px !important;
  font-size: 0.82rem !important;
}

.mm-admin-zutat-extra-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.mm-admin-zutat-extra-row .mm-pantry-input {
  flex: 1 1 160px;
  min-width: 0;
}

.mm-admin-zutat-tax-nav .mm-admin-zutat-cat-rename-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 0.92rem;
}

/* Drag & Drop */
.mm-admin-zutat-chip-meta {
  font-weight: 600;
  opacity: 0.72;
  font-size: 0.88em;
}

.mm-admin-zutat-chip--has-unmerge {
  border-style: dashed;
}

.mm-admin-zutat-labels {
  display: inline;
}

.mm-admin-zutat-variant {
  cursor: pointer;
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}

.mm-admin-zutat-variant:hover {
  color: #8e2d56;
}

body.mm-theme-dark .mm-admin-zutat-variant:hover {
  color: #f48fb1;
}

.mm-admin-zutat-chip.mm-admin-zutat-dragging {
  opacity: 0.55;
  cursor: grabbing;
}

.mm-admin-zutat-drop-cat.mm-admin-zutat-dragover,
.mm-admin-zutat-chip.mm-admin-zutat-dragover {
  outline: 2px solid rgba(198, 40, 40, 0.55);
  outline-offset: 2px;
  background: rgba(198, 40, 40, 0.1);
}

body.mm-theme-dark .mm-admin-zutat-drop-cat.mm-admin-zutat-dragover,
body.mm-theme-dark .mm-admin-zutat-chip.mm-admin-zutat-dragover {
  outline-color: rgba(229, 57, 53, 0.65);
  background: rgba(229, 57, 53, 0.12);
}

/* Rechtstexte (Impressum, Datenschutz, AGB): auf großen Viewports lesbare Zeilenbreite */
.mm-legal-page .u-sheet-1.u-valign-middle {
  width: min(100%, var(--mm-layout-max)) !important;
  max-width: min(100%, var(--mm-layout-max)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.mm-legal-page.mm-profil-page .mm-profil-shell {
  max-width: 100%;
}

/* —— Profil —— */
.mm-profil-page .u-sheet-1.u-valign-middle {
  justify-content: flex-start !important;
}

.mm-profil-card {
  max-width: 100%;
}

.mm-profil-shell {
  width: 100%;
  max-width: min(100%, var(--mm-layout-max));
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(0.75rem, 2vw, 1.25rem);
  padding-right: clamp(0.75rem, 2vw, 1.25rem);
  box-sizing: border-box;
}

.mm-profil-page--wide .mm-profil-shell {
  max-width: min(100%, var(--mm-layout-max));
}

.mm-profil-page__hero {
  margin-bottom: 0.35rem;
  padding-top: 0.35rem;
  text-align: center;
}

.mm-profil-page__hero-sheet {
  position: relative;
}

body.mm-theme-dark .mm-profil-page__credits-badge {
  background: rgba(231, 236, 246, 0.1);
  color: #e7ecf6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.mm-profil-page__avatar-wrap {
  margin: 0 auto 0.65rem;
}

.mm-profil-page__avatar {
  display: block;
  width: 88px;
  height: 88px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

body.mm-theme-dark .mm-profil-page__avatar {
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

body.mm-theme-dark .mm-profil-page__title {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-profil-page__lead {
  color: rgba(231, 236, 246, 0.78);
}

.mm-profil-page .mm-cook-box.mm-profil-section {
  margin-top: 10px !important;
  padding: 14px 16px 16px;
}

/* Profil: Bereiche wie Vorräte-KI-Akkordeon (Rand + Kopfzeile) */
.mm-profil-page .mm-pantry-accordion.mm-profil-accordion {
  margin: 0 1rem 1rem;
  box-sizing: border-box;
}

.mm-profil-page .mm-profil-accordion > .mm-pantry-accordion__summary .mm-pantry-panel__title {
  font-size: 0.98rem;
  line-height: 1.2;
  font-weight: 700;
}

.mm-profil-accordion__summary-start {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
  flex: 1 1 auto;
}

.mm-profil-accordion__summary-start .mm-pantry-panel__title {
  margin: 0;
}

.mm-profil-accordion__summary-start .mm-profil-hint {
  flex: 0 0 auto;
}

.mm-haushalt-mitglieder {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

.mm-haushalt-mitglieder__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mm-haushalt-mitglieder__row:last-child {
  border-bottom: none;
}

.mm-haushalt-mitglieder__name {
  min-width: 0;
  flex: 1 1 auto;
}

.mm-haushalt-member-remove {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 8px;
  line-height: 0;
}

.mm-haushalt-member-remove:hover,
.mm-haushalt-member-remove:focus-visible {
  background: rgba(0, 0, 0, 0.06);
}

.mm-haushalt-member-remove:focus-visible {
  outline: 2px solid rgba(33, 150, 243, 0.45);
  outline-offset: 1px;
}

.mm-haushalt-member-remove:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

body.mm-theme-dark .mm-haushalt-mitglieder__row {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.mm-theme-dark .mm-haushalt-member-remove:hover,
body.mm-theme-dark .mm-haushalt-member-remove:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}

/* credits.htm: Guthaben-Badge ohne Akkordeon-Zeile */
.mm-hilfe-credits-balance-h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
}

.mm-hilfe-credits-balance-amount {
  margin: 0 0 14px;
  font-size: 1.2rem;
  line-height: 1.3;
  color: var(--mm-ink, #1a1a1a);
}

.mm-hilfe-credits-balance-strong {
  font-weight: 800;
}

.mm-hilfe-credits-balance-num {
  font-variant-numeric: tabular-nums;
}

body.mm-theme-dark .mm-hilfe-credits-balance-amount {
  color: #e7ecf6;
}

#mm-credits .mm-profil-credits-packages {
  justify-content: flex-start;
}

.mm-profil-credits-purchase {
  margin-bottom: 4px;
}

/* Credits-Verlauf: höhenbegrenzt (~10 Einträge), dann vertikal scrollbar; kompakte Typo */
.mm-credits-wrap .mm-ai-table-wrap {
  max-height: min(22rem, 60vh);
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

@media screen and (max-width: 42em) {
  .mm-credits-wrap .mm-ai-table-wrap {
    max-height: min(20rem, 70vh);
  }
}

.mm-credits-wrap .mm-profil-credits-table {
  font-size: 0.78rem;
  line-height: 1.38;
  width: 100%;
  border-collapse: collapse;
}

.mm-credits-wrap .mm-profil-credits-table th,
.mm-credits-wrap .mm-profil-credits-table td {
  padding: 0.34rem 0.48rem;
  vertical-align: top;
  white-space: normal;
  word-break: break-word;
}

.mm-credits-wrap .mm-profil-credits-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  text-transform: none;
  background: rgba(247, 247, 247, 0.98);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.mm-credits-wrap .mm-profil-credits-table tbody td:first-child {
  white-space: nowrap;
  word-break: normal;
}

/* Profil: Credits-Verlauf – Zahlen-Spalten rechtsbündig (Abbuchung, Guthaben) */
.mm-credits-wrap .mm-profil-credits-table thead th:nth-child(3),
.mm-credits-wrap .mm-profil-credits-table thead th:nth-child(4),
.mm-credits-wrap .mm-profil-credits-table tbody td:nth-child(3),
.mm-credits-wrap .mm-profil-credits-table tbody td:nth-child(4) {
  text-align: right;
  white-space: nowrap;
}

/* Extra Abstand rechts, damit der horizontale Scrollbar nichts überdeckt */
.mm-credits-wrap .mm-profil-credits-table thead th:nth-child(4),
.mm-credits-wrap .mm-profil-credits-table tbody td:nth-child(4) {
  padding-right: 0.9rem;
}

body.mm-theme-dark .mm-credits-wrap .mm-ai-table-wrap {
  border-color: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-credits-wrap .mm-profil-credits-table thead th {
  background: rgba(27, 32, 41, 0.97);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12);
}

.mm-profil-credits-packages {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  justify-content: flex-end;
}

.mm-profil-credits-packages__item {
  margin: 0;
}

.mm-profil-credits-packages__pill {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.03);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--mm-ink, #1a1a1a);
}

/* Im Profil sollen die Kauf-Buttons wie mm-btn-edit aussehen */
.mm-profil-page .mm-profil-credits-packages__pill.mm-btn-edit {
  padding: 14px 18px;
  border: 0;
  background: linear-gradient(180deg, #6b6f76 0%, #4a4e54 100%);
  color: #f4f4f5 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

body.mm-theme-dark .mm-profil-credits-packages__pill {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: #e7ecf6;
}

button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill {
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
}

button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill:hover:not(:disabled) {
  filter: brightness(1.03);
}

/* Profil: Credits kaufen – schöner Hover (leichtes „Lift“ + Glow) */
button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill.mm-pantry-ing-overlay__icon-action {
  transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}
button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill.mm-pantry-ing-overlay__icon-action:hover:not(:disabled),
button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill.mm-pantry-ing-overlay__icon-action:focus-visible:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14);
}
body.mm-theme-dark button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill.mm-pantry-ing-overlay__icon-action:hover:not(:disabled),
body.mm-theme-dark button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill.mm-pantry-ing-overlay__icon-action:focus-visible:not(:disabled) {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.42);
}

button.mm-profil-credits-packages__buy.mm-profil-credits-packages__pill:disabled {
  opacity: 0.65;
  cursor: wait;
}

.mm-profil-stripe-cancel-banner {
  border-color: rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.04);
  color: var(--mm-ink-muted, #444);
}

body.mm-theme-dark .mm-profil-stripe-cancel-banner {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  color: #c9d4e8;
}

/* Admin: Nährwerte (Zutaten nach Kategorie) */
.mm-admin-naehrwerte {
  margin-top: 12px;
}

.mm-admin-naehrwerte-table-wrap {
  overflow-x: auto;
  margin: 0;
}

.mm-admin-naehrwerte-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.mm-admin-naehrwerte-table th,
.mm-admin-naehrwerte-table td {
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mm-admin-naehrwerte-table th {
  font-weight: 700;
  color: var(--mm-ink, #333);
  white-space: nowrap;
}

.mm-admin-naehrwerte-table thead tr.mm-admin-naehrwerte-table-banner th {
  text-align: center;
  white-space: normal;
  font-weight: 600;
  font-size: 0.88em;
  color: #555;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mm-admin-naehrwerte-th {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 700;
  color: inherit;
  cursor: pointer;
  text-align: inherit;
  max-width: 100%;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}

.mm-admin-naehrwerte-th:hover,
.mm-admin-naehrwerte-th:focus-visible {
  color: #8e2d56;
  outline: none;
}

/* Höhere Spezifität als .mm-admin-naehrwerte-table th|td { text-align: left } */
.mm-admin-naehrwerte-table th.mm-admin-naehrwerte-th-num,
.mm-admin-naehrwerte-table td.mm-admin-naehrwerte-td-num {
  text-align: right;
}

.mm-admin-naehrwerte-table th.mm-admin-naehrwerte-th-num .mm-admin-naehrwerte-th {
  justify-content: flex-end;
}

.mm-admin-naehrwerte-td-num a.mm-admin-naehrwerte-recipe-link {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.mm-admin-naehrwerte-td-num a.mm-admin-naehrwerte-recipe-link:hover,
.mm-admin-naehrwerte-td-num a.mm-admin-naehrwerte-recipe-link:focus-visible {
  color: #8e2d56;
  outline: none;
  text-decoration: none;
}

.mm-admin-naehrwerte-table tbody tr:last-child td {
  border-bottom: none;
}

body.mm-theme-dark .mm-admin-naehrwerte-table th,
body.mm-theme-dark .mm-admin-naehrwerte-table td {
  border-color: rgba(255, 255, 255, 0.1);
  color: #e7ecf6;
}

body.mm-theme-dark .mm-admin-naehrwerte-table th {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-admin-naehrwerte-table thead tr.mm-admin-naehrwerte-table-banner th {
  color: #b8c4d8;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.mm-theme-dark .mm-admin-naehrwerte-th {
  color: #e7ecf6;
}

body.mm-theme-dark .mm-admin-naehrwerte-th:hover,
body.mm-theme-dark .mm-admin-naehrwerte-th:focus-visible {
  color: #f0b87a;
}

body.mm-theme-dark .mm-admin-naehrwerte-td-num a.mm-admin-naehrwerte-recipe-link:hover,
body.mm-theme-dark .mm-admin-naehrwerte-td-num a.mm-admin-naehrwerte-recipe-link:focus-visible {
  color: #f0b87a;
  text-decoration: none;
}

/* Hilfe-Unterseiten (FAQ, Credits, Vorrat, Nährwerte, Über): Untertitel unter Profil-gleicher H1 */

/* FAQ-Filterzeile: wie Rezeptübersicht — „Filter“ links, Eingabe eine Zeile volle Breite */
.mm-help-faq-page .mm-help-faq-filter-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 12px;
  margin: 0.35rem 0 1.25rem;
  width: 100%;
  max-width: none;
  padding: 0;
  box-sizing: border-box;
  min-width: 0;
}

.mm-help-faq-filter-row__label {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
  color: #2a2f36;
  white-space: nowrap;
}

.mm-help-faq-filter-row__search {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
}

/* Optik wie .mm-recipe-filters__summary-search-wrap input.mm-recipe-search-input */
.mm-help-faq-filter-row__search .mm-help-faq-search {
  margin: 0;
  width: 100%;
  min-width: 0;
  padding: 7px 10px;
  font-size: 0.88rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background-color: #fff;
  color: #1a1a1a;
  box-sizing: border-box;
}

.mm-help-faq-filter-row__search .mm-help-faq-search::placeholder {
  color: rgba(26, 26, 26, 0.45);
}

body.mm-theme-dark .mm-help-faq-filter-row__search .mm-help-faq-search {
  border-color: rgba(255, 255, 255, 0.18);
  background-color: rgba(23, 28, 36, 0.85);
  color: #e7ecf6;
}

body.mm-theme-dark .mm-help-faq-filter-row__search .mm-help-faq-search::placeholder {
  color: rgba(231, 236, 246, 0.45);
}

body.mm-theme-dark .mm-help-faq-filter-row__search .mm-help-faq-search:focus {
  outline: 2px solid rgba(142, 45, 86, 0.35);
  outline-offset: 1px;
}

.mm-help-faq-page .mm-help-faq-search-empty {
  max-width: min(100%, 32rem);
  margin: 8px auto 0;
  text-align: center;
}

.mm-help-faq-search-empty {
  font-weight: 600;
  color: #8e2d56;
}

body.mm-theme-dark .mm-help-faq-search-empty {
  color: #f0b87a;
}

/* FAQ-Unterkategorien: nur Trennlinien, keine eigenen Karten-Wrapper */
.mm-help-faq__group {
  margin: 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

.mm-help-faq__group:first-child {
  padding-top: 0;
  border-top: 0;
}

.mm-help-faq__group--empty {
  opacity: 0.92;
}

/* FAQ-Kapitel („Allgemeines zu myMealMate“ u. a.): feste Größe, spezifischer als globales h2 */
.mm-help-faq .mm-help-faq__group > .mm-help-faq__category {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: 0.01em;
  font-size: 2.438rem;
  line-height: 1.25;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  text-transform: none;
  color: rgba(26, 26, 26, 0.82);
}

.mm-help-faq__group:first-child > .mm-help-faq__category {
  margin-top: 0;
}

/* Hilfe „Über …“: Kapitel-Überschriften kompakter als FAQ-Standard (2.438rem) */
.mm-help-about-page .mm-help-faq .mm-help-faq__group > .mm-help-faq__category {
  font-size: calc(2.438rem / 2);
}

.mm-help-faq__empty {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
}

body.mm-theme-dark .mm-help-faq__group {
  border-top-color: rgba(255, 255, 255, 0.1);
}

body.mm-theme-dark .mm-help-faq .mm-help-faq__group > .mm-help-faq__category {
  color: rgba(231, 236, 246, 0.92);
}

body.mm-theme-dark .mm-help-faq-filter-row__label {
  color: rgba(231, 236, 246, 0.92);
}

.mm-help-faq__list {
  margin: 0;
  padding: 0;
}

.mm-help-faq__item {
  margin: 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mm-help-faq__list > .mm-help-faq__item:first-of-type {
  padding-top: 0;
  border-top: 0;
}

body.mm-theme-dark .mm-help-faq__item {
  border-top-color: rgba(255, 255, 255, 0.1);
}

/* FAQ-Fragen: gleiche Schriftfamilie/-gewicht wie .mm-p9-hero-unique-title (vgl. Einkaufsliste), kompaktere Größe */
.mm-help-faq__list dt {
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  line-height: 1.25;
  margin-top: 0;
  color: var(--mm-ink, #222);
}

.mm-help-faq__list dd {
  margin: 0.35rem 0 0;
}

body.mm-theme-dark .mm-help-faq__list dt {
  color: #e7ecf6;
}

.mm-profil-page .mm-cook-box.mm-profil-accordion {
  margin-top: 0 !important;
  padding: 14px 16px 16px;
}

body.mm-theme-dark .mm-profil-section__title {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #e7ecf6;
}

.mm-profil-subtitle {
  margin: 0 0 6px;
  font-size: 0.72rem !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(26, 26, 26, 0.72);
  line-height: 1.35 !important;
}

body.mm-theme-dark .mm-profil-subtitle {
  color: rgba(231, 236, 246, 0.88);
}

.mm-profil-section .u-text ul {
  margin: 0.4em 0 0.85em;
  padding-left: 1.15rem;
  list-style: disc;
}

.mm-profil-section .u-text li {
  margin: 0.15em 0;
  line-height: 1.45;
}

.mm-profil-email-line {
  margin: 0 0 8px;
}

.mm-profil-label-tight {
  margin: 0 0 8px;
}

.mm-profil-toggle-first {
  margin-top: 4px;
}

.mm-profil-toggle-spaced {
  margin-top: 8px;
}

.mm-profil-account--sep {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

body.mm-theme-dark .mm-profil-account--sep {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mm-profil-select-narrow {
  max-width: min(100%, 200px);
}

.mm-profil-select-wide {
  max-width: min(100%, 520px);
}

.mm-profil-form-actions {
  margin: 14px 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.mm-profil-impersonate-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 6px;
}

.mm-profil-impersonate-select {
  max-width: min(100%, 420px);
  margin: 0;
}

.mm-profil-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem 1.25rem;
  align-items: start;
  margin-top: 6px;
}

@media screen and (min-width: 52em) {
  .mm-profil-layout:not(.mm-profil-layout--single) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

.mm-profil-layout__col {
  min-width: 0;
}

.mm-profil-admin-block--sep {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

body.mm-theme-dark .mm-profil-admin-block--sep {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.mm-profil-muted {
  color: rgba(26, 26, 26, 0.72);
}

body.mm-theme-dark .mm-profil-muted {
  color: rgba(231, 236, 246, 0.82) !important;
}

.mm-profil-language-field__label {
  font-size: 0.88rem;
  font-weight: 700;
  color: rgba(26, 26, 26, 0.78);
}

body.mm-theme-dark .mm-profil-language-field__label {
  color: rgba(231, 236, 246, 0.82) !important;
}

.mm-profil-account__input {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 4px 0 0;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #fff;
  color: #1a1a1a;
  font-size: 0.95rem;
  box-sizing: border-box;
}

.mm-profil-account__email {
  font-size: 0.95rem;
  word-break: break-all;
  color: rgba(26, 26, 26, 0.88);
}

body.mm-theme-dark .mm-profil-account__input {
  background: #1b2029;
  color: #e7ecf6;
  border-color: rgba(255, 255, 255, 0.18);
}

body.mm-theme-dark .mm-profil-account__email {
  color: rgba(231, 236, 246, 0.9);
}

.mm-profil-lang-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.mm-profil-lang-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  border-radius: 10px;
  border: 2px solid transparent;
  line-height: 0;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mm-profil-lang-flag:hover {
  border-color: rgba(90, 37, 64, 0.35);
}

.mm-profil-lang-flag.is-active {
  border-color: #5a2540;
  box-shadow: 0 0 0 1px rgba(90, 37, 64, 0.12);
}

.mm-profil-lang-flag:focus-visible {
  outline: 2px solid #5f8dd3;
  outline-offset: 2px;
}

.mm-profil-lang-flag__svg {
  display: block;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

body.mm-theme-dark .mm-profil-lang-flag:hover {
  border-color: rgba(231, 236, 246, 0.35);
}

body.mm-theme-dark .mm-profil-lang-flag.is-active {
  border-color: #e7ecf6;
  box-shadow: 0 0 0 1px rgba(231, 236, 246, 0.2);
}

/* Eine Zeile: Einstellung links / Info-Icon rechts */
.mm-profil-setting-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
  width: 100%;
  box-sizing: border-box;
}

.mm-profil-setting-row .mm-profil-hint {
  margin: 0;
  flex: 0 0 auto;
}

.mm-profil-setting-row .mm-profil-language-field__label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.mm-profil-setting-row--toggle {
  align-items: center;
}

.mm-profil-setting-row--toggle .mm-cook-step-ing-toggle {
  flex: 1 1 0;
  min-width: 0;
  margin-left: 0;
  white-space: normal;
}

.mm-profil-setting-row--toggle .mm-cook-step-ing-toggle__text {
  white-space: normal;
}

.mm-profil-setting-row--form {
  align-items: center;
  margin-bottom: 10px;
}

.mm-profil-setting-row--form:last-child {
  margin-bottom: 0;
}

.mm-profil-setting-row--taxonomy {
  margin-top: 4px;
}

.mm-profil-inline-form {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

body.mm-theme-dark .mm-profil-section-head {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

.mm-profil-subhead-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin: 0 0 10px;
}

.mm-profil-subhead-row .mm-profil-subtitle {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
}

.mm-profil-subhead-row .mm-profil-hint {
  margin: 0;
  flex: 0 0 auto;
}

.mm-profil-subhead-row .mm-profil-hint[open] {
  flex: 1 0 100%;
}

.mm-profil-hint {
  margin: 6px 0 10px;
}

.mm-profil-hint__summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: rgba(0, 0, 0, 0.05);
  cursor: pointer;
  padding: 0;
  font-size: 0.56rem;
  font-weight: 700;
  font-style: italic;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  color: rgba(55, 55, 55, 0.72);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mm-profil-hint__summary::-webkit-details-marker { display: none; }
.mm-profil-hint__summary::marker { content: ""; }

.mm-profil-hint__summary:hover {
  background: rgba(0, 0, 0, 0.08);
  border-color: rgba(0, 0, 0, 0.2);
}

.mm-profil-hint__summary:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.22);
  outline-offset: 2px;
}

body.mm-theme-dark .mm-profil-hint__summary:focus-visible {
  outline-color: rgba(120, 169, 255, 0.55);
}

.mm-profil-hint__ico {
  pointer-events: none;
  user-select: none;
}

/* Tooltip ist nun freischwebend (Portal), nicht mehr inline im Layout. */
.mm-profil-hint-tooltip {
  position: fixed;
  z-index: 10050;
  max-width: 380px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(25, 28, 34, 0.92);
  color: #f4f4f5;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
  font-size: 0.92rem;
  line-height: 1.45;
}
.mm-profil-hint-tooltip[hidden] { display: none !important; }
.mm-profil-hint-tooltip__body { white-space: normal; }
.mm-profil-hint-tooltip__arrow {
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(25, 28, 34, 0.92);
  transform: translateX(-50%) rotate(45deg);
  top: -5px;
}
.mm-profil-hint-tooltip[data-pos="top"] .mm-profil-hint-tooltip__arrow {
  top: auto;
  bottom: -5px;
}

/* Alte Inline-Body-Regeln werden nicht mehr genutzt. */

.mm-profil-hint__p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
}

.mm-profil-hint__p + .mm-profil-hint__p {
  margin-top: 8px;
}

body.mm-theme-dark .mm-profil-hint__summary {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(210, 218, 230, 0.72);
}

body.mm-theme-dark .mm-profil-hint__summary:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.22);
}

body.mm-theme-dark .mm-profil-hint-tooltip {
  background: rgba(15, 17, 22, 0.94);
}
body.mm-theme-dark .mm-profil-hint-tooltip__arrow {
  background: rgba(15, 17, 22, 0.94);
}

/* Profil: Konto löschen Button rechtsbündig */
#mm-profil-delete-account-form {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

/* Profil: Session/Logout-Zeile rechtsbündig */

/* Profil: Email ganz oben + Abmelden links */
.mm-profil-setting-row--email-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.mm-profil-email-top__body {
  flex: 1 1 260px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.mm-profil-setting-row--email-top-label {
  margin: 0;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.mm-profil-setting-row--email-top-label .mm-profil-language-field__label {
  margin: 0;
}
.mm-profil-setting-row--email-top .mm-profil-email-line {
  margin: 4px 0 0;
}

.mm-profil-email-top__actions {
  flex: 0 0 auto;
  margin-left: auto;
}

/* Profil: Text-Buttons wie „Neue Zutat hinzufügen…“ (Icon-Action, aber mit Auto-Breite) */
.mm-profil-page .mm-pantry-ing-overlay__icon-action {
  width: auto;
  padding: 0 12px;
  white-space: nowrap;
}

/* Profil: Links (z.B. Abmelden) wie Buttons behandeln */
.mm-profil-page a.mm-pantry-ing-overlay__icon-action,
.mm-profil-page a.mm-pantry-ing-overlay__icon-action:visited {
  color: inherit !important;
  text-decoration: none;
  font: inherit;
  font-weight: inherit;
}

/* Profil: Deaktivierte „Credits kaufen“ Pakete sind <span> – optisch wie Button */
.mm-profil-page span.mm-pantry-ing-overlay__icon-action {
  cursor: default;
  user-select: none;
}

/* (Profil) Buttons verwenden nun mm-pantry-ing-overlay__icon-action („Neue Zutat hinzufügen…“) */

.mm-profile-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 10000;
  width: min(220px, calc(100vw - 24px));
  min-height: 120px;
  padding: 18px 18px;
  border-radius: 16px;
  background: rgba(43, 48, 56, 0.9);
  color: #f4f4f5;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  font-size: 1rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.mm-profile-toast[hidden] {
  display: none !important;
}

.mm-profile-toast--error {
  background: rgba(176, 0, 32, 0.9);
}

body.mm-theme-dark .mm-profile-toast {
  background: rgba(20, 24, 31, 0.92);
  color: #e7ecf6;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.42);
}

body.mm-theme-dark .mm-profile-toast--error {
  background: rgba(140, 30, 56, 0.92);
}

/* --------------------------------------------------------------------------
   Globales Google-Auth-Overlay + Login-Seite (oben rechts Login / Sign up)
   -------------------------------------------------------------------------- */
.mm-auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 20050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.mm-auth-overlay[hidden] {
  display: none !important;
}

.mm-auth-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 18, 0.52);
  backdrop-filter: blur(3px);
}

.mm-auth-overlay__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  padding: 1.5rem 1.35rem 1.35rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.22);
}

body.mm-theme-dark .mm-auth-overlay__dialog {
  background: #1e1e24;
  color: #e7ecf6;
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.55);
}

.mm-auth-overlay__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: rgba(26, 26, 26, 0.55);
  border-radius: 8px;
}

.mm-auth-overlay__close:hover,
.mm-auth-overlay__close:focus {
  color: #1a1a1a;
  background: rgba(0, 0, 0, 0.06);
}

body.mm-theme-dark .mm-auth-overlay__close {
  color: rgba(231, 236, 246, 0.65);
}

body.mm-theme-dark .mm-auth-overlay__close:hover,
body.mm-theme-dark .mm-auth-overlay__close:focus {
  color: #e7ecf6;
  background: rgba(255, 255, 255, 0.08);
}

.mm-auth-overlay__title {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 2rem 0.35rem 0;
  color: var(--home-ink, #1a1a1a);
}

.mm-auth-overlay__lead {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--home-muted, #5c5348);
}

body.mm-theme-dark .mm-auth-overlay__lead {
  color: rgba(231, 236, 246, 0.72);
}

.mm-auth-overlay__remember {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  font-size: 0.9rem;
  cursor: pointer;
  color: var(--home-ink, #1a1a1a);
}

body.mm-theme-dark .mm-auth-overlay__remember {
  color: #e7ecf6;
}

.mm-auth-overlay__err {
  margin-top: 10px !important;
}

#mm-auth-overlay-google {
  min-height: 44px;
}

.mm-login-card {
  position: relative;
}

.mm-login-auth-bar {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.mm-login-auth-bar[hidden] {
  display: none !important;
}

.mm-auth-btn {
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: 0.88rem;
  padding: 0.42rem 1rem;
  border-radius: 999px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mm-auth-btn--secondary {
  background: transparent;
  color: var(--home-ink, #1a1a1a);
  border-color: rgba(26, 26, 26, 0.28);
}

.mm-auth-btn--secondary:hover,
.mm-auth-btn--secondary:focus {
  border-color: rgba(26, 26, 26, 0.5);
  background: rgba(0, 0, 0, 0.04);
}

.mm-auth-btn--facet {
  border: 1px solid var(--mm-pantry-pill-active, #c2185b);
  background: var(--mm-pantry-pill-active, #c2185b);
  color: #fff;
  box-shadow: 0 2px 10px rgba(194, 24, 91, 0.35);
}

.mm-auth-btn--facet:hover,
.mm-auth-btn--facet:focus {
  background: var(--mm-pantry-pill-active-hover, #ad1457);
  border-color: var(--mm-pantry-pill-active-hover, #ad1457);
}

body.mm-theme-dark .mm-auth-btn--secondary {
  color: #e7ecf6;
  border-color: rgba(231, 236, 246, 0.35);
}

body.mm-theme-dark .mm-auth-btn--secondary:hover,
body.mm-theme-dark .mm-auth-btn--secondary:focus {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(231, 236, 246, 0.55);
}

.mm-login-hero {
  padding-top: 2.75rem;
}

@media screen and (min-width: 40.063em) {
  .mm-login-hero {
    padding-top: 0.5rem;
  }
}

a.site-nav__link--auth-intercept {
  cursor: pointer;
}
