/**
Theme Name: MixMyMeals Astra Child
Author: Timo Fricke
Author URI: https://www.mixmymeals.de
Description: Child Theme für MixMyMeals auf Basis von Astra.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mixmymeals-astra-child
Template: astra
*/

:root {

    /* ==================================================
       Brand Colors
       ================================================== */

    --mmm-primary: #A6B42E;
    --mmm-secondary: #EF7C54;
    --mmm-text: #000000;
    --mmm-white: #fff;
    --mmm-grey: #e5e5e5;

    /* ==================================================
       Shadows (subtle, Astra-like)
       ================================================== */

    --mmm-shadow: 0 3px 10px rgba(0,0,0,0.08);
    --mmm-shadow-hover: 0 6px 16px rgba(0,0,0,0.12);

    /* ==================================================
       Font Scale (Astra-aligned)
       zu wenige wie möglich, zu viele wie nötig
       ================================================== */

    --mmm-font-xs: 0.8em;    /* Meta, Labels, Kategorien */
    --mmm-font-sm: 0.85em;   /* Secondary Text */
    --mmm-font-md: 1em;      /* Body */
    --mmm-font-lg: 1.05em;   /* Step Titles */
    --mmm-font-xl: 1.25em;   /* Day Headlines */
}

/* ==========================================================
   Weekdays
   ========================================================== */

.mmm-weekdays {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35em;
    margin-bottom: 0.75em;
}

.mmm-weekday {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.2em;
    padding: 0.25em 0.5em;
    font-family: var(--ast-global-body-font-family);
    font-size: var(--mmm-font-sm);
    line-height: 1;
    border-radius: var(--ast-border-radius);
    background-color: var(--mmm-grey);
    color: var(--ast-global-color-3);
    user-select: none;
}

.mmm-weekday-in-plan {
    background-color: color-mix(
            in srgb,
            var(--ast-global-color-0) 12%,
            transparent
    );
    color: var(--ast-global-color-0);
}

.mmm-weekday-active {
    background-color: var(--ast-global-color-0);
    color: var(--mmm-white);
    font-weight: 500;
    box-shadow: var(--mmm-shadow);
}

/* ==========================================================
   Meta Information (Font Awesome Free – minimal)
   ========================================================== */

/*
.mmm-meta, .mmm-meal-plan-archive-item-meta, .mmm-recipe-archive-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em 1.25em;
    margin: 0.75em 0 1em;
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-3);
}

.mmm-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    white-space: nowrap;
    opacity: 0.9;
}
*/
/* Icons */

/*
.mmm-num-of-days::before,
.mmm-num-of-meals::before,
.mmm-serving-range::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--ast-global-color-0);
    font-size: 0.85em;
}
 */
/*
.mmm-num-of-days::before { content: "\f073"; }
.mmm-num-of-meals::before { content: "\f2e7"; }
.mmm-serving-range::before { content: "\f0c0"; }
*/

/* ==========================================================
   Meal Plan – Single View
   ========================================================== */

.mmm-meal-plan-section {
    margin: 2.5em 0;
}

/* Day */

.mmm-meal-plan-day {
    margin-bottom: 2.5em;
}

.mmm-meal-plan-day-title {
    /*margin-bottom: 0.75em;*/
    /*font-size: var(--mmm-font-xl);*/
    /*color: var(--ast-global-color-0);*/
}

/* Meal Type */

.mmm-meal-plan-type-group {
    /*margin-left: 0.75em;*/
    margin-bottom: 1.5em;
}

.mmm-meal-plan-type-label {
    margin-bottom: 0.75em;
    font-size: var(--mmm-font-xs);
    letter-spacing: 0.05em;
    color: var(--ast-global-color-3);
}

/*
.mmm-meal-plan-type-label::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f017";
    color: var(--ast-global-color-0);
    font-size: 0.85em;
}
*/

/* Meal Item */

.mmm-meal-plan-overview-item {
    display: flex;
    gap: 1em;
    padding: 0.75em 0;
    border-bottom: 1px solid var(--mmm-grey);
}

.mmm-meal-plan-overview-item:last-child {
    border-bottom: none;
}

/* Thumbnail */

.mmm-meal-plan-overview-item-thumb {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--ast-border-radius);
    box-shadow: var(--mmm-shadow);
}

/* Content */

.mmm-meal-content {
    display: flex;
    flex-direction: column;
    gap: 0.35em;
}

/* Categories */

.mmm-meal-plan-overview-item-recipe-behind-meal-categories-list {
    display: flex;
    gap: 0.5em;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--mmm-font-xs);
    color: var(--ast-global-color-3);
}

.mmm-meal-plan-overview-item-recipe-behind-meal-categories-list li {
    background-color: var(--mmm-grey);
    padding: 0.15em 0.45em;
    border-radius: 999px;
}

/* Title */

.mmm-meal-plan-overview-item-meal-title a {
    /*font-weight: 500;*/
    color: var(--ast-global-color-2);
    text-decoration: none;
}

.mmm-meal-plan-overview-item-meal-title a:hover {
    color: var(--ast-global-color-0);
}

/* Meta wrapper (Portionen + Zeit nebeneinander) */
.mmm-meal-plan-overview-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75em;
}

/* Gemeinsame Basis für Meta-Items */
.mmm-meal-plan-overview-item-meal-servings,
.mmm-meal-plan-overview-item-meal-prep-time {
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-3);
    display: flex;
    align-items: center;
    gap: 0.35em;
    white-space: nowrap;
}

/* Servings Icon */
.mmm-meal-plan-overview-item-meal-servings::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f0c0";
    color: var(--ast-global-color-0);
    font-size: 0.85em;
}

/* Preparation Time Icon */
.mmm-meal-plan-overview-item-meal-prep-time::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f017"; /* fa-clock */
    color: var(--ast-global-color-0);
    font-size: 0.85em;
}



/* ==========================================================
   Shopping List
   ========================================================== */

.mmm-simple-shopping-list {
    margin-top: 1.5em;
}

.mmm-shopping-category {
    margin: 2em 0 0.5em;
    /*font-size: var(--mmm-font-lg);*/
    /*color: var(--ast-global-color-0);*/
}

.mmm-shopping-list-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mmm-shopping-item {
    padding: 0.5em 0;
    border-bottom: 1px solid var(--mmm-grey);
}

.mmm-shopping-item:last-child {
    border-bottom: none;
}

.mmm-shopping-item details summary {
    cursor: pointer;
    /*font-weight: 500;*/
    display: flex;
    align-items: center;
    gap: 0.4em;
}

.mmm-shopping-item details summary::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f07a"; /* shopping-cart */
    color: var(--ast-global-color-0);
    font-size: 0.8em;
}

.mmm-shopping-item details ul {
    margin: 0.5em 0 0 1.25em;
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-3);
}

/* ==========================================================
   Single Meal (Recipe)
   ========================================================== */

.mmm-meal-back-to-meal-plan-link {
    display: inline-block;
    margin-bottom: 0.5em;
    font-size: var(--mmm-font-sm);
    text-decoration: none;
}



.mmm-meal-back-to-meal-plan-link::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f060"; /* arrow-left */
    font-size: 0.8em;
}

.mmm-meal-section {
    margin: 2.5em 0;
}

/* Wrapper für Meal-Meta (Servings, Calories, Prep Time) */
/*
.mmm-meal-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75em;
    flex: 1 1 auto;
    font-size: var(--mmm-font-sm);
}
*/

/* Gemeinsame Basis für alle Meta-Items */
/*
.mmm-meal-meta .mmm-meal-servings,
.mmm-meal-meta .mmm-meal-calories,
.mmm-meal-meta .mmm-meal-prep-time {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-3);
    white-space: nowrap;
    margin-bottom: 0;
}

.mmm-meal-meta .mmm-meal-servings::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f0c0";
    color: var(--ast-global-color-0);
}

.mmm-meal-meta .mmm-meal-calories::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f7e4";
    color: var(--ast-global-color-0);
    font-size: 0.9em;
}

.mmm-meal-meta .mmm-meal-prep-time::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f017";
    color: var(--ast-global-color-0);
    font-size: 0.9em;
}
*/
/* Steps */

.mmm-recipe-section {
    margin: 2.5em 0;
}

.mmm-recipe-steps {
    display: flex;
    flex-direction: column;
    gap: 2em;
    margin-top: 1.5em;
}

.mmm-step {
    padding-left: 1.25em;
    border-left: 3px solid var(--mmm-grey);
}

.mmm-step-title {
    font-size: var(--mmm-font-lg);
    color: var(--ast-global-color-0);
}

.mmm-step-description {
    line-height: 1.6;
    color: var(--ast-global-color-3);
}

/* ==========================================================
   Step Ingredients – neutral & dezent
   ========================================================== */

.mmm-step-ingredients {
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-3);
    margin-top: 1rem;
    margin-left: 0;
    padding: 0;
    list-style: none;
}

.mmm-step-ingredients li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.35em 0;
    border-bottom: 1px solid var(--mmm-grey);
}

.mmm-step-ingredients li:last-child {
    border-bottom: none;
}

/* Name – fett, ohne Link-Überladung */
.mmm-step-ingredients .mmm-ingredient-name {
    font-weight: 500;
    color: var(--ast-global-color-2);
    white-space: nowrap;
}

/* Menge – dezent, kleiner, leicht grau */
.mmm-step-ingredients .mmm-ingredient-amount {
    font-weight: 400;
    color: var(--ast-global-color-3);
    white-space: nowrap;
}

/* Optional: responsive kleine Bildschirme */
@media (max-width: 544px) {
    .mmm-step-ingredients li {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25em;
    }
    .mmm-step-ingredients .mmm-ingredient-amount {
        font-size: var(--mmm-font-xs);
    }
}


/* ==========================================================
   Nutrition Table
   ========================================================== */

.mmm-meal-nutrition {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 1em;
}

/* Table base */

.mmm-nutrition-table {
    width: 100%;
    min-width: 420px; /* verhindert Zerquetschen auf Mobile */
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--mmm-font-sm);
}

/* Header */

.mmm-nutrition-table thead th {
    padding: 0.75em 0.75em;
    text-align: left;
    border-bottom: 2px solid var(--ast-global-color-0);
    color: var(--ast-global-color-0);
    font-weight: 500;
    white-space: nowrap;
}

/* Body cells */

.mmm-nutrition-table tbody td {
    padding: 0.65em 0.75em;
    border-bottom: 1px solid var(--mmm-grey);
    color: var(--ast-global-color-3);
    vertical-align: middle;
}

/* First column (labels) */

.mmm-nutrition-table tbody td:first-child {
    font-weight: 500;
    color: var(--ast-global-color-2);
}

/* Numeric columns */

.mmm-nutrition-table td:not(:first-child),
.mmm-nutrition-table th:not(:first-child) {
    text-align: right;
    white-space: nowrap;
}

/* Zebra rows – very subtle */

.mmm-nutrition-table tbody tr:nth-child(even) td {
    background-color: color-mix(
            in srgb,
            var(--mmm-grey) 40%,
            transparent
    );
}

/* Last row cleanup */

.mmm-nutrition-table tbody tr:last-child td {
    border-bottom: none;
}

/* ==========================================================
   Mobile tweaks
   ========================================================== */

@media (max-width: 544px) {

    .mmm-nutrition-table {
        font-size: var(--mmm-font-xs);
    }

    .mmm-nutrition-table thead th,
    .mmm-nutrition-table tbody td {
        padding: 0.6em 0.6em;
    }
}


/* ==========================================================
   Mobile Tweaks
   ========================================================== */

@media (max-width: 544px) {

    :root {
        --mmm-font-lg: 1em;
        --mmm-font-xl: 1.15em;
    }

    .mmm-meal-plan-overview-item {
        flex-direction: column;
    }

    .mmm-meal-plan-overview-item-thumb {
        width: 100%;
        max-width: 220px;
        height: auto;
    }
}

/* ==========================================================
   Archive Description (generic)
   ========================================================== */

.mmm-archive-description {
    margin: 0.75em 0 2em;
}

.mmm-archive-description p {
    margin: 0 0 0.75em;
}

.mmm-archive-description p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   Meal Plan Builder – Layout
   ========================================================== */

.mmm-plan-builder {
    margin: 3em 0;
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}


.mmm-plan-builder-title {
    font-size: var(--mmm-font-xl);
    color: var(--ast-global-color-0);
    margin-bottom: 0.5em;
}

/* Days Grid */
.mmm-plan-days {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.75em;
}

/* Day Column */
.mmm-plan-day {
    background: var(--mmm-white);
    padding: 1em;
    border-radius: var(--ast-border-radius);
    /*box-shadow: var(--mmm-shadow);*/
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}

.mmm-plan-day-title {
    font-size: var(--mmm-font-lg);
    font-weight: 500;
    color: var(--ast-global-color-0);
    margin: 0;
}

/* Unassigned Section */
.mmm-plan-unassigned {
    background: color-mix(in srgb, var(--mmm-grey) 60%, white);
    padding: 1.25em;
    border-radius: var(--ast-border-radius);
    /*box-shadow: var(--mmm-shadow);*/
}

.mmm-plan-unassigned h3 {
    font-size: var(--mmm-font-lg);
    font-weight: 500;
    color: var(--ast-global-color-2);
    margin-bottom: 0.75em;
}

.mmm-plan-unassigned .mmm-plan-day-list {
    background: color-mix(in srgb, var(--mmm-secondary) 6%, transparent);
}

/* ==========================================================
   Meal Plan Items
   ========================================================== */

.mmm-plan-day-list {
    margin: 0;
    min-height: 110px;
    padding: 0.75em;
    background: color-mix(in srgb, var(--mmm-primary) 5%, transparent);
    border-radius: var(--ast-border-radius);
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    transition: background 0.2s ease;
}

.mmm-plan-item {
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.65em 0.75em;
    background: var(--mmm-white);
    border-radius: var(--ast-border-radius);
    box-shadow: var(--mmm-shadow);
    cursor: grab;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.mmm-plan-item:hover {
    box-shadow: var(--mmm-shadow-hover);
    transform: translateY(-1px);
}

.mmm-plan-item:active {
    cursor: grabbing;
}

/* Drag Handle */
.mmm-plan-item-drag {
    font-size: 1.2em;
    opacity: 0.4;
    cursor: grab;
    user-select: none;
    padding: 0 0.35em;
}

/* Thumbnail */
.mmm-plan-item-thumb {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: var(--ast-border-radius);
    box-shadow: var(--mmm-shadow);
    width: 50px;
    height: 50px;
}

/* Content */
.mmm-plan-item-content {
    display: flex;
    flex-direction: column;
    gap: 0.35em;
    flex: 1;
}

.mmm-plan-item-title {
    font-size: var(--mmm-font-md);
    font-weight: 500;
    color: var(--ast-global-color-2);
}

/* ==========================================================
   Meal Plan Controls – Einheitlich & harmonisch
   ========================================================== */

.mmm-plan-item-controls {
    display: flex;
    align-items: center;
    gap: 0.5em;
    flex-wrap: wrap;
}

.mmm-plan-item-type,
.mmm-plan-item-servings {
    font-size: var(--mmm-font-sm);
    padding: 0.3em 0.55em;
    height: 2.2em;
    border-radius: var(--ast-border-radius);
    border: 1px solid var(--mmm-grey);
    background: var(--mmm-white);
}

/* Input: feste Breite */
.mmm-plan-item-servings {
    width: 60px;
    text-align: center;
}

/* Remove Button: dezenter, aber klar */
.mmm-plan-item-remove {
    background: transparent;
    color: var(--mmm-secondary);
    border: 1px solid var(--mmm-secondary);
    border-radius: var(--ast-border-radius);
    padding: 0.25em 0.5em;
    font-size: 1em;
    cursor: pointer;
    line-height: 1;
}

.mmm-plan-item-remove:hover {
    background: var(--mmm-secondary);
    color: var(--mmm-white);
}

/* Type Dropdown */
.mmm-plan-item-type {
    padding: 0.25em 0.5em;
    font-size: var(--mmm-font-sm);
    border-radius: var(--ast-border-radius);
    border: 1px solid var(--mmm-grey);
    background: var(--mmm-white);
}

/* Servings Input */
.mmm-plan-item-servings {
    width: 60px;
    padding: 0.25em 0.5em;
    font-size: var(--mmm-font-sm);
    border-radius: var(--ast-border-radius);
    border: 1px solid var(--mmm-grey);
}

/* Remove Button */
.mmm-plan-item-remove {
    background: var(--mmm-secondary);
    color: var(--mmm-white);
    border: none;
    border-radius: var(--ast-border-radius);
    padding: 0.25em 0.55em;
    font-size: 1.1em;
    cursor: pointer;
    line-height: 1;
    box-shadow: var(--mmm-shadow);
}

.mmm-plan-item-remove:hover {
    background: color-mix(in srgb, var(--mmm-secondary) 85%, black);
}

.mmm-plan-day-list {
    min-height: 100px;
    padding: 0.5em;
    background: color-mix(in srgb, var(--mmm-primary) 4%, transparent);
    border-radius: var(--ast-border-radius);
}

/* ==========================================================
   Drag & Drop Visual Feedback
   ========================================================== */

.mmm-plan-item.dragging {
    opacity: 0.45;
}

.mmm-plan-day-list.drop-target {
    background: color-mix(in srgb, var(--mmm-primary) 14%, transparent);
    outline: 2px dashed color-mix(in srgb, var(--mmm-primary) 55%, transparent);
}

.mmm-create-meal-plan-link {
    display: inline-block;
    padding: 0.6em 1.1em;
    background: var(--ast-global-color-0);
    color: #fff;
    border-radius: var(--ast-border-radius);
    font-weight: 500;
    text-decoration: none;
    line-height: 1.2;
    transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.mmm-create-meal-plan-link:hover {
    background: var(--ast-global-color-1);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.mmm-create-meal-plan-link:active {
    transform: translateY(0);
    box-shadow: none;
}

/* ==========================================================
   Meal – Ingredients Toggle (kontextspezifisch)
   ========================================================== */

.mmm-meal-ingredients {
    margin: 1.25em 0;
}

/* Details neutralisieren */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

/* Summary neutral, inline-flex für Icon + Text */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle > summary {
    cursor: pointer;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    margin: 0 0 0.25em 0;
    padding: 0;
    font-size: var(--mmm-font-md);
    font-weight: 400;
    color: var(--ast-global-color-2);
    user-select: none;
}

/* Browser-Arrow entfernen */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle > summary::-webkit-details-marker {
    display: none;
}

/* Chevron links vom Text */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle > summary::before {
    content: "\f078"; /* Font Awesome chevron-down */
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 0.8em;
    color: var(--ast-global-color-3);
    line-height: 1;
    transition: transform 0.15s ease;
    margin-right: 0.4em;
}

/* Open-State (dreht das Chevron) */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle[open] > summary::before {
    transform: rotate(180deg);
}

/* Zähler neutral */
.mmm-meal-ingredients .mmm-meal-ingredients-count {
    font-size: inherit;
    color: inherit;
    white-space: nowrap;
}

/* Liste ohne Einrückung */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* List Items */
.mmm-meal-ingredients .mmm-meal-ingredients-toggle li {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25em;
    padding: 0.45em 0;
    border-bottom: 1px solid var(--mmm-grey);
    font-size: var(--mmm-font-md);
    line-height: 1.4;
}

.mmm-meal-ingredients .mmm-meal-ingredients-toggle li:last-child {
    border-bottom: none;
}

/* Name & Menge gleichwertig */
.mmm-meal-ingredients .mmm-ingredient-name,
.mmm-meal-ingredients .mmm-ingredient-amount {
    font-size: inherit;
    color: var(--ast-global-color-2);
    white-space: nowrap;
}

.mmm-meal-ingredients .mmm-ingredient-name {
    font-weight: 500;
}

.mmm-meta-action-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1em;
    flex-wrap: wrap;
    margin: 0.75em 0 1em;
}

/* Meal Plan Meta – Wrapper wie bei Rezepten */
/*
.mmm-meal-plan-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75em;
}
 */

/* Gemeinsame Basis für alle Meta-Items */
/*
.mmm-meal-plan-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em 1.25em;
    flex: 1 1 auto;
}
*/

/*
.mmm-meal-plan-meta .mmm-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-size: var(--mmm-font-sm);
    white-space: nowrap;
}

.mmm-meal-plan-meta .mmm-meta__item::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--ast-global-color-0);
    font-size: 0.9em;
}

.mmm-meal-plan-meta .mmm-meta__item::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--ast-global-color-0);
    font-size: 0.9em;
}

.mmm-meal-plan-meta .mmm-meta__item--days::before {
    content: "\f073";
}

.mmm-meal-plan-meta .mmm-meta__item--meals::before {
    content: "\f2e7";
}

.mmm-meal-plan-meta .mmm-meta__item--servings::before {
    content: "\f0c0";
}
*/
.mmm-meal-plan-actions, .mmm-recipe-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em 1.25em;
    flex: 0 0 auto;
    margin: 0.75em 0 1em;
}

.mmm-meal-plan-actions__item, .mmm-recipe-actions__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-0);
    cursor: pointer;
    text-decoration: underline;
}

.mmm-meal-plan-actions__item::before, .mmm-recipe-actions__item::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
}

/* Print */
.mmm-meal-plan-actions__item--print::before {
    content: "\f02f"; /* print */
}

/* Mail */
.mmm-meal-plan-actions__item--mail::before {
    content: "\f0e0"; /* envelope */
}

@media (max-width: 544px) {
    .mmm-meta-action-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .mmm-meal-plan-actions {
        margin-top: 0.25em;
    }
}

/* =========================================
   Wrapper für Meta + Actions
   ========================================= */
.mmm-meta-action-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1em;
    flex-wrap: wrap;
    margin: 0.75em 0 1em;
}

/* =========================================
   Recipe Meta an Meal-Plan-Leiste angleichen
   ========================================= */

/* Items innerhalb der Meta-Leiste */
.mmm-meal-meta .mmm-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;        /* wie bei Actions */
    white-space: nowrap;
    text-decoration: none;
}

/* Icons für Recipe-Meta */
.mmm-meal-meta .mmm-meta__item::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--ast-global-color-0);
    font-size: 0.9em;
}

/* Icons definieren */
.mmm-meal-meta .mmm-meta__item--servings::before { content: "\f0c0"; }  /* users */
.mmm-meal-meta .mmm-meta__item--calories::before { content: "\f7e4"; }  /* fire */
.mmm-meal-meta .mmm-meta__item--prep-time::before { content: "\f017"; } /* clock */
.mmm-meal-meta .mmm-meta__item--category::before { content: "\f02b"; }  /* tag */

.mmm-recipe-archive-item-meta .mmm-recipe-actions__item--cart {
    /*text-decoration: underline;*/
    color: var(--ast-global-color-0);
    cursor: pointer;
}

/* =========================================
   Actions – identisch zu Meal-Plan-Actions
   ========================================= */
.mmm-meal-plan-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em;
    flex: 0 0 auto;
}

.mmm-meal-plan-actions__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-0);
    cursor: pointer;
    text-decoration: underline;
}

.mmm-meal-plan-actions__item::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
}

/* Beispiel: Add to Cart Icon */
.mmm-recipe-actions__item--cart::before {
    content: "\f07a"; /* shopping-cart */
}

/* =========================================
   Responsive – kleine Bildschirme
   ========================================= */
@media (max-width: 544px) {
    .mmm-meta-action-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .mmm-meal-plan-actions {
        margin-top: 0.25em;
    }

    .mmm-recipe-actions {
        margin-top: 0.25em;
    }
}

/* ==========================================================
   Unified Meta System (Meal Plan + Recipe)
   ========================================================== */

/* -------- Meta Wrapper -------- */

.mmm-meta,
.mmm-meal-meta,
.mmm-meal-plan-meta,
.mmm-meal-plan-archive-item-meta,
.mmm-recipe-archive-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75em 1.25em;
    font-size: var(--mmm-font-sm);
    color: var(--ast-global-color-3);
    margin: 0.75em 0 1em;
}

/* -------- Meta Items -------- */

.mmm-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    white-space: nowrap;
    opacity: 0.9;
}

/* -------- Icon Base -------- */

.mmm-meta__item::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 0.9em;
    color: var(--ast-global-color-0);
    line-height: 1;
}

/* -------- Icon Variants -------- */

/* Meal Plan */
.mmm-meta__item--days::before {
    content: "\f073"; /* calendar */
}

.mmm-meta__item--meals::before {
    content: "\f2e7"; /* utensils */
}

.mmm-meta__item--servings::before {
    content: "\f0c0"; /* users */
}

/* Recipe */
.mmm-meta__item--calories::before {
    content: "\f7e4"; /* fire */
}

.mmm-meta__item--prep-time::before {
    content: "\f017"; /* clock */
}

.mmm-meta__item--category::before {
    content: "\f02b"; /* tag */
}

/* ==========================================================
   Recipe Category Term List (Shortcode)
   Kontext: <ul class="mmm-recipe-category mmm-term-list ...">
   ========================================================== */

.mmm-recipe-category.mmm-term-list {
    list-style: none;
    margin: 1em 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5em; /* Abstand zwischen Top-Level Items */
}

/* Item */
.mmm-recipe-category .mmm-term-list__item {
    margin: 0;
    padding: 0;
    line-height: 1em;
}

/* Link */
.mmm-recipe-category .mmm-term-list__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    text-decoration: none;
    font-size: var(--mmm-font-md);
    color: var(--ast-global-color-2);
    padding: 0.25em 0;
}

.mmm-recipe-category .mmm-term-list__link:hover {
    color: var(--ast-global-color-0);
    text-decoration: underline;
}

/* Top-Level: optisch wie "Überschrift + Block" */
.mmm-recipe-category.mmm-term-list--level-1 > .mmm-term-list__item {
    padding: 0.75em 0;
    border-bottom: 1px solid var(--mmm-grey);
}

.mmm-recipe-category.mmm-term-list--level-1 > .mmm-term-list__item:last-child {
    border-bottom: none;
}

/* Top-Level Link etwas stärker */
.mmm-recipe-category.mmm-term-list--level-1 > .mmm-term-list__item > .mmm-term-list__link {
    font-weight: 600;
    font-size: var(--mmm-font-lg);
}

/* Sub-Level UL */
.mmm-recipe-category.mmm-term-list--level-2,
.mmm-recipe-category.mmm-term-list--level-3,
.mmm-recipe-category.mmm-term-list--level-4 {
    list-style: none;
    margin: 0.4em 0 0;
    padding: 0.2em 0 0.2em 1em; /* Einzug */
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    border-left: 3px solid var(--mmm-grey);
}

/* Sub-Level Links kleiner/dezenter */
.mmm-recipe-category.mmm-term-list--level-2 .mmm-term-list__link,
.mmm-recipe-category.mmm-term-list--level-3 .mmm-term-list__link,
.mmm-recipe-category.mmm-term-list--level-4 .mmm-term-list__link {
    font-size: var(--mmm-font-sm);
    font-weight: 400;
    color: var(--ast-global-color-3);
}

/* Icon-Basis */
.mmm-recipe-category .mmm-term-list__link::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    color: var(--ast-global-color-0);
    line-height: 1;
}

/* Icons je Ebene */
.mmm-recipe-category.mmm-term-list--level-1 > .mmm-term-list__item > .mmm-term-list__link::before {
    content: "\f07b"; /* folder */
    font-size: 0.9em;
}

.mmm-recipe-category.mmm-term-list--level-2 .mmm-term-list__link::before {
    content: "\f02b"; /* tag */
    font-size: 0.85em;
}

.mmm-recipe-category.mmm-term-list--level-3 .mmm-term-list__link::before,
.mmm-recipe-category.mmm-term-list--level-4 .mmm-term-list__link::before {
    content: "\f105"; /* angle-right */
    font-size: 0.85em;
}

/* Optional: Count (falls du show_count nutzt) */
.mmm-recipe-category .mmm-term-list__count {
    font-size: var(--mmm-font-xs);
    color: var(--ast-global-color-3);
    opacity: 0.8;
}

/* Mobile: weniger Einzug, kompakter */
@media (max-width: 544px) {
    .mmm-recipe-category.mmm-term-list--level-2,
    .mmm-recipe-category.mmm-term-list--level-3,
    .mmm-recipe-category.mmm-term-list--level-4 {
        padding-left: 0.75em;
    }

    .mmm-recipe-category.mmm-term-list--level-1 > .mmm-term-list__item {
        padding: 0.6em 0;
    }
}

/* Top-Level ohne Link: Titel-Styling wie Link, aber ohne Klick */
.mmm-recipe-category .mmm-term-list__title {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.25em 0;
    font-weight: var(--ast-blog-title-font-weight, normal);
    font-size: var(--mmm-font-lg);
    color: var(--ast-global-color-2);
    line-height: 1.2em;
}

/* Icon wie bei Top-Level Links */
.mmm-recipe-category.mmm-term-list--level-1 > .mmm-term-list__item > .mmm-term-list__title::before {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f07b"; /* folder */
    color: var(--ast-global-color-0);
    font-size: 0.9em;
    line-height: 1;
}
