/**
 * Food Menu item-dialog presentation and availability emphasis.
 */
.pxab-food-dialog__dietary {
    display:inline-flex;
    align-items:center;
    width:fit-content;
    margin:6px 0 2px;
    padding:6px 10px;
    border:1px solid #bbf7d0;
    border-radius:999px;
    background:#f0fdf4;
    color:#166534;
    font-size:.88rem;
    font-weight:700;
}

.pxab-food-dialog__dietary[hidden],
.pxab-food-dialog__availability[hidden] {
    display:none !important;
}


.pxab-food-dialog__image:empty {
    display:none;
}

.pxab-food-dialog .pxab-food-dialog__image img {
    display:block;
    margin-bottom:12px;
}

.pxab-food-dialog__availability.is-orderable {
    box-shadow:0 10px 24px rgba(21,128,61,.10);
}

.pxab-food-dialog__availability {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:start;
    width:100%;
    max-width:none;
    box-sizing:border-box;
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid #86efac;
    border-left:4px solid #16a34a;
    border-radius:14px;
    background:#f0fdf4;
    color:var(--pxab-food-text);
}

.pxab-food-dialog__availability-icon {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:999px;
    background:var(--pxab-food-dialog-bg);
    color:#15803d;
    box-shadow:0 0 0 1px #bbf7d0;
}

.pxab-food-dialog__availability-icon .pxab-food-icon {
    width:20px;
    height:20px;
}

.pxab-food-dialog__availability > div {
    display:grid;
    gap:3px;
}

.pxab-food-dialog__availability strong {
    color:var(--pxab-food-heading);
    font-size:.95rem;
}

.pxab-food-dialog__availability [data-pxab-food-dialog-availability-text] {
    color:#166534;
    line-height:1.45;
}

.pxab-food-dialog__availability.is-unavailable {
    border-color:#fed7aa;
    border-left-color:#ea580c;
    background:#fff7ed;
}

.pxab-food-dialog__availability.is-unavailable .pxab-food-dialog__availability-icon {
    color:#c2410c;
}

.pxab-food-dialog .pxab-food-disclaimer {
    margin:16px 0 0;
    padding-top:14px;
}

@media (max-width:520px) {
    .pxab-food-dialog__availability {
        grid-template-columns:1fr;
    }
}

/* Match the Catering service-details modal's page lock and overlay behaviour. */
html.pxab-food-dialog-open,
body.pxab-food-dialog-open {
    overflow:hidden !important;
    overscroll-behavior:none;
}

.pxab-food-dialog__backdrop {
    background:rgba(15,23,42,.72);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
}

.pxab-food-dialog__panel {
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

