/* Centered text and media share a grid cell. Long copy grows the row. */
:is(.restaurant-positioned-story, .bi-hero__grid)[data-intro-text-position="center"],
.restaurant-intro-overlay[data-image-position="center"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    position: relative;
    isolation: isolate;
    align-items: center;
    min-height: clamp(420px, 42vw, 560px);
}
:is(.restaurant-positioned-story, .bi-hero__grid)[data-intro-text-position="center"] > *,
.restaurant-intro-overlay[data-image-position="center"] > * {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 0 !important;
    min-width: 0;
    box-sizing: border-box;
}
:is(.restaurant-positioned-story, .bi-hero__grid)[data-intro-text-position="center"] > .restaurant-intro-media,
.restaurant-intro-overlay[data-image-position="center"] > .restaurant-intro-overlay__image {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 420px;
    margin: 0 !important;
    align-self: stretch;
    z-index: 0;
    object-fit: cover;
    transform: none !important;
}
.restaurant-positioned-story[data-intro-text-position="center"] :is(.kuro-story-figure, .kf-story__media) {
    height: 100% !important;
    min-height: 420px;
}
:is(.restaurant-positioned-story, .bi-hero__grid)[data-intro-text-position="center"] > .restaurant-intro-copy,
.restaurant-intro-overlay[data-image-position="center"] > .restaurant-intro-overlay__text {
    position: relative;
    z-index: 1;
    width: calc(100% - 48px) !important;
    max-width: 760px !important;
    margin: 32px auto !important;
    padding: clamp(24px, 3vw, 40px);
    justify-self: center;
    align-self: center;
    text-align: center !important;
    background: rgba(0, 0, 0, .78);
    color: #fff;
    transform: none !important;
    overflow-wrap: anywhere;
}
:is(.restaurant-positioned-story, .bi-hero__grid)[data-intro-text-position="center"] .restaurant-intro-copy :is(p, h3, .restaurant-intro-body, .kf-story__body, .story-copy-block),
.restaurant-intro-overlay[data-image-position="center"] .restaurant-intro-overlay__body {
    color: #fff !important;
}
.bi-hero__grid[data-intro-text-position="center"] .bi-hero__buttons { justify-content: center; }
@media (max-width: 767px) {
    :is(.restaurant-positioned-story, .bi-hero__grid)[data-intro-text-position="center"] > .restaurant-intro-copy,
    .restaurant-intro-overlay[data-image-position="center"] > .restaurant-intro-overlay__text {
        width: calc(100% - 24px) !important;
        margin: 20px auto !important;
        padding: 24px 18px;
    }
}

/* The image must fill the text-sized row without its intrinsic ratio enlarging it. */
.restaurant-intro-overlay[data-image-position="center"] > .restaurant-intro-overlay__image {
    position: absolute;
    inset: 0;
}
