/* Keep the logo frame flush with the image, including non-square logos. */
html body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand {
    --mono-logo-size: clamp(76px, 20vw, 88px);
    grid-template-columns: var(--mono-logo-size) minmax(0, 1fr) !important;
}
html body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo {
    aspect-ratio: auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    object-fit: contain !important;
    padding: 0 !important;
    width: var(--mono-logo-size) !important;
}
html body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand .text-logo {
    height: var(--mono-logo-size) !important;
}

/* Theme 1 detail icons stay centered regardless of the restaurant's font. */
body.public-body:has(> main.qr-menu.theme-menutje-mono) .description-modal .description-close {
    font-size: 0 !important;
    line-height: 0;
}
body.public-body:has(> main.qr-menu.theme-menutje-mono) .description-modal .description-close::before,
body.public-body:has(> main.qr-menu.theme-menutje-mono) .description-modal .description-close::after {
    background: currentColor;
    border-radius: 999px;
    content: "";
    height: 2.4px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 16px;
}
body.public-body:has(> main.qr-menu.theme-menutje-mono) .description-modal .description-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
body.public-body:has(> main.qr-menu.theme-menutje-mono) .description-modal .description-cart-button::before {
    background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px 2.4px, 2.4px 14px;
    content: "";
    font-size: 0;
    line-height: 0;
}

/* Theme 1 only: flush-left photos and a compact allergen row. */
.public-body .qr-menu.theme-menutje-mono .menu-product {
    --mono-image-width: 168px;
    border: 1px solid #e9ece8 !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 12px rgba(20, 30, 25, .035) !important;
    gap: 0 !important;
    grid-template-columns: var(--mono-image-width) minmax(0, 1fr) !important;
    grid-template-rows: 1fr auto !important;
    min-height: 164px !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product > .product-media {
    align-self: stretch !important;
    background: #f2f3f0 !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    height: auto !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 0 !important;
    position: relative;
    width: 100% !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product > .product-media > img {
    border-radius: 0 !important;
    height: 100% !important;
    inset: 0;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    position: absolute;
    width: 100% !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product > .product-media > img.visual-coming-soon {
    object-fit: contain !important;
    padding: 12px !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product > .product-info {
    align-content: stretch !important;
    align-self: stretch !important;
    gap: 2px 4px !important;
    grid-column: 2;
    grid-row: 1;
    grid-template-areas: "title title" "desc desc" ". ." "price action" !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    grid-template-rows: auto 33.35px minmax(0, 1fr) auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 8px 2px !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .product-title-row h3 {
    color: #202723 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    letter-spacing: -.25px;
    line-height: 1.3 !important;
    max-height: 2.6em !important;
    min-height: 0 !important;
    align-self: start !important;
    text-transform: none !important;
    -webkit-line-clamp: 2;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .product-description-short,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-description-trigger {
    color: #858b87 !important;
    display: -webkit-box !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    max-height: 2.9em !important;
    min-height: 0 !important;
    overflow: hidden;
    text-align: start;
    white-space: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .product-description-trigger > span {
    display: -webkit-box !important;
    line-height: inherit !important;
    max-height: 2.9em !important;
    overflow: hidden !important;
    white-space: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .price-stack,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row {
    align-self: end !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .price-stack {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-metrics {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    min-height: 14px;
    min-width: 0;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    min-height: 32px !important;
    width: 100% !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .product-calorie-chip {
    align-items: center !important;
    display: inline-flex !important;
    background: transparent !important;
    border: 0 !important;
    color: #b46520 !important;
    flex: 0 0 auto !important;
    font-size: 9.5px !important;
    font-weight: 500 !important;
    gap: 1px !important;
    height: auto !important;
    line-height: 1.3 !important;
    margin-inline-start: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}
.public-body .qr-menu.theme-menutje-mono .mono-calorie-icon {
    display: block;
    fill: currentColor;
    flex: 0 0 9px;
    height: 11px;
    width: 9px;
}
.public-body .qr-menu.theme-menutje-mono .mono-popular-badge {
    background: #fff2cf;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 6px;
    color: #6b4f21;
    font-size: 10px;
    font-weight: 700;
    inset: 8px auto auto 8px;
    line-height: 1.4;
    padding: 4px 7px;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}
.public-body .qr-menu.theme-menutje-mono .sold-out-badge ~ .mono-popular-badge {
    bottom: 8px;
    top: auto;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line strong {
    color: #27332d !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    letter-spacing: -.35px;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row {
    margin: 0 !important;
    width: 44px !important;
}
.public-body .qr-menu.theme-menutje-mono .menu-product .menu-cart-add {
    background: #f5f6f3 !important;
    border: 1px solid #e6e9e3 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #354238 !important;
    font-size: 10px !important;
    height: 32px !important;
    max-width: 44px !important;
    min-width: 0 !important;
    padding: 0 2px !important;
    width: 44px !important;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-allergens {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    padding: 0 8px 8px;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-allergen-icons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-cooking {
    align-items: center;
    color: #687262;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 9.5px;
    font-weight: 500;
    gap: 1px;
    height: auto;
    line-height: 1.3;
    margin-inline-start: 0;
    padding: 0;
    white-space: nowrap;
}
.public-body .qr-menu.theme-menutje-mono .mono-cooking-icon {
    display: block;
    fill: none;
    flex: 0 0 11px;
    height: 11px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
    width: 11px;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-allergen {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    min-height: 28px;
    min-width: 28px;
    padding: 3px;
    width: 28px;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-allergen:hover,
.public-body .qr-menu.theme-menutje-mono .mono-product-allergen:focus-visible {
    background: #f1f3ef;
}
.public-body .qr-menu.theme-menutje-mono .mono-product-allergen:focus-visible {
    outline: 1px solid #87947f;
    outline-offset: 1px;
}
.public-body .qr-menu.theme-menutje-mono .mono-allergen-icon {
    display: block;
    height: 22px;
    width: 22px;
}
.public-body .qr-menu.theme-menutje-mono .mono-allergen-icon img {
    background: transparent;
    border: 0;
    border-radius: 0;
    display: block;
    height: 22px;
    object-fit: contain;
    padding: 0;
    width: 22px;
}
.public-body .qr-menu.theme-menutje-mono .mono-allergen-icon .allergen-symbol {
    background: transparent;
    border: 0;
    color: #687262;
    font-size: 15px;
    height: 22px;
    min-width: 22px;
    padding: 0;
    width: 22px;
}
.public-body .qr-menu.theme-menutje-mono .mono-allergen-icon.has-panel-image > .allergen-symbol,
.public-body .qr-menu.theme-menutje-mono .mono-allergen-icon.has-image-error > img {
    display: none;
}
.public-body .qr-menu.theme-menutje-mono .mono-allergen-icon.has-image-error > .allergen-symbol {
    display: inline-flex;
}
.mono-allergen-toast {
    background: #283029;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(20, 30, 20, .14);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
    max-width: min(270px, calc(100vw - 24px));
    opacity: 0;
    overflow-wrap: anywhere;
    padding: 8px 12px;
    pointer-events: none;
    position: fixed;
    text-align: center;
    transition: opacity .12s ease;
    visibility: hidden;
    width: max-content;
    z-index: 15000;
}
.mono-allergen-toast.is-visible {
    opacity: 1;
    visibility: visible;
}
@media (prefers-reduced-motion: reduce) {
    .mono-allergen-toast { transition: none; }
}
@media (max-width: 520px) {
    .public-body .qr-menu.theme-menutje-mono .menu-product {
        --mono-image-width: clamp(108px, 35vw, 152px);
        min-height: 156px !important;
    }
}
@media (max-width: 359px) {
    .public-body .qr-menu.theme-menutje-mono .menu-product { --mono-image-width: 108px; }
    .public-body .qr-menu.theme-menutje-mono .menu-product > .product-info {
        grid-template-columns: minmax(0, 1fr) 40px !important;
    }
    .public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line strong {
        font-size: 14px !important;
    }
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-calorie-chip {
        font-size: 9px !important;
    }
    .public-body .qr-menu.theme-menutje-mono .mono-product-cooking {
        font-size: 9px;
    }
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row,
    .public-body .qr-menu.theme-menutje-mono .menu-product .menu-cart-add {
        max-width: 40px !important;
        width: 40px !important;
    }
    .public-body .qr-menu.theme-menutje-mono .menu-product .menu-cart-add {
        font-size: 9px !important;
    }
    .public-body .qr-menu.theme-menutje-mono .mono-product-allergens { padding: 0 6px 8px; }
}
