/**
 * Food Menu item-dialog badges, chips and compact content rhythm.
 *
 * Keeps every label-like element on one shared geometry while preserving the
 * semantic colour used for dietary and allergen states.
 */
.pxab-food-dialog {
    --pxab-food-dialog-label-padding:5px 8px;
    --pxab-food-dialog-label-gap:5px;
    --pxab-food-dialog-label-min-height:28px;
    --pxab-food-dialog-label-border:color-mix(in srgb,var(--pxab-food-border) 82%,var(--pxab-food-text));
}

.pxab-food-dialog .pxab-food-dialog__meta,
.pxab-food-dialog .pxab-food-dialog__dietary,
.pxab-food-dialog .pxab-food-icon-chip,
.pxab-food-dialog .pxab-food-dialog__allergen-group > strong,
.pxab-food-dialog .pxab-food-allergen-legend span,
.pxab-food-dialog .pxab-food-information__cereals span {
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--pxab-food-dialog-label-gap);
    min-height:var(--pxab-food-dialog-label-min-height);
    padding:var(--pxab-food-dialog-label-padding);
    border-width:1px;
    border-style:dashed;
    border-color:var(--pxab-food-dialog-label-border);
    border-radius:999px;
    line-height:1.2;
    white-space:normal;
}

.pxab-food-dialog .pxab-food-dialog__meta {
    width:fit-content;
    margin:4px 0 4px;
    background:var(--pxab-food-surface);
    color:var(--pxab-food-text);
    font-size:.82rem;
    font-weight:700;
}

.pxab-food-dialog .pxab-food-dialog__dietary {
    width:fit-content;
    margin:4px 0 4px;
    border-color:#86efac;
    background:#f0fdf4;
    color:#166534;
    font-size:.82rem;
    font-weight:700;
}

.pxab-food-dialog .pxab-food-icon-chip {
    flex:0 1 auto;
    max-width:100%;
    background:var(--pxab-food-surface);
    color:var(--pxab-food-text);
    font-size:.78rem;
}

.pxab-food-dialog .pxab-food-icon-chip > span {
    display:block;
    min-width:0;
    overflow-wrap:anywhere;
}

.pxab-food-dialog .pxab-food-icon-chip--contains {
    border-color:#fda4af;
    background:#fff1f2;
    color:#9f1239;
}

.pxab-food-dialog .pxab-food-icon-chip--may-contain {
    border-color:#fdba74 !important;
    background:#fff7ed !important;
    color:#9a3412;
}

.pxab-food-dialog .pxab-food-icon-chip--allergen .pxab-food-icon,
.pxab-food-dialog .pxab-food-icon-chip--contains .pxab-food-icon {
    color:#be123c;
}

.pxab-food-dialog .pxab-food-icon-chip--may-contain .pxab-food-icon {
    color:#c2410c;
}

.pxab-food-dialog .pxab-food-dialog__ingredients,
.pxab-food-dialog .pxab-food-dialog__allergens {
    align-items:flex-start;
    margin:12px 0 0;
}

.pxab-food-dialog .pxab-food-dialog__ingredients {
    padding:12px 0 0;
    border-top:1px dashed var(--pxab-food-border);
}

.pxab-food-dialog .pxab-food-dialog__allergens {
    display:grid;
    gap:12px;
    padding:12px 0 0;
    border-top:1px dashed var(--pxab-food-border);
}

.pxab-food-dialog .pxab-food-dialog__allergen-group {
    display:grid;
    grid-template-columns:max-content minmax(0,1fr);
    gap:10px;
    align-items:start;
}

.pxab-food-dialog .pxab-food-dialog__allergen-group > strong {
    align-self:start;
    margin:0;
    background:var(--pxab-food-bg);
    color:var(--pxab-food-muted);
    font-size:.76rem;
    font-weight:800;
}

.pxab-food-dialog .pxab-food-dialog__allergen-group > div {
    align-items:flex-start;
    min-width:0;
}

.pxab-food-dialog .pxab-food-dialog__food-information {
    margin-top:18px;
    padding-top:2px;
}

.pxab-food-dialog .pxab-food-information {
    box-shadow:0 8px 24px color-mix(in srgb,var(--pxab-food-text) 6%,transparent);
}

.pxab-food-dialog .pxab-food-information__body {
    gap:20px;
}

.pxab-food-dialog .pxab-food-allergen-legend span {
    font-size:.75rem;
    font-weight:700;
}

.pxab-food-dialog .pxab-food-allergen-legend .is-contains {
    border-color:#fda4af;
}

.pxab-food-dialog .pxab-food-allergen-legend .is-may-contain {
    border-color:#fdba74;
}

.pxab-food-dialog .pxab-food-allergen-legend .is-not-declared {
    border-color:#cbd5e1;
}

.pxab-food-dialog .pxab-food-information__cereals span {
    background:var(--pxab-food-bg);
    font-size:.8rem;
}

.pxab-food-dialog .pxab-food-allergen-matrix {
    margin-top:2px;
}

.pxab-food-dialog .pxab-food-dialog__fixed {
    width:fit-content;
    margin:12px 0 0;
    padding:var(--pxab-food-dialog-label-padding);
    border:1px dashed #fdba74;
    border-radius:999px;
    background:#fff7ed;
    line-height:1.2;
}

@media (max-width:760px) {
    .pxab-food-dialog .pxab-food-icon-chip {
        width:auto;
        height:auto;
        min-height:var(--pxab-food-dialog-label-min-height);
        padding:var(--pxab-food-dialog-label-padding);
    }

    .pxab-food-dialog .pxab-food-icon-chip > span {
        display:block;
    }
}

@media (max-width:520px) {
    .pxab-food-dialog .pxab-food-dialog__allergen-group {
        grid-template-columns:1fr;
        gap:7px;
    }

    .pxab-food-dialog .pxab-food-dialog__allergen-group > strong {
        justify-self:start;
    }

    .pxab-food-dialog .pxab-food-information__body {
        padding:14px;
    }
}

/* Keep the rest of the item dialog on the same compact visual rhythm. */
.pxab-food-dialog .pxab-food-dialog__panel {
    scrollbar-gutter:stable;
}

.pxab-food-dialog h2 {
    line-height:1.2;
}

.pxab-food-dialog [data-pxab-food-dialog-description] {
    margin:0 0 8px;
    color:var(--pxab-food-muted);
    line-height:1.55;
}

.pxab-food-dialog .pxab-food-dialog__base-price {
    margin:4px 0 8px;
    color:var(--pxab-food-heading);
    font-size:1.12rem;
}

.pxab-food-dialog form[data-pxab-food-item-form]:not([hidden]) {
    margin-top:18px;
    padding-top:18px;
    border-top:1px dashed var(--pxab-food-border);
}

.pxab-food-dialog [data-pxab-food-modifiers] {
    display:grid;
    gap:12px;
}

.pxab-food-dialog .pxab-food-modifier {
    margin:0;
}

.pxab-food-dialog .pxab-food-special-request {
    margin-top:16px;
}

.pxab-food-dialog .pxab-food-dialog__footer {
    padding-top:16px;
    border-top:1px dashed var(--pxab-food-border);
}
