/* Text keeps its intrinsic space; the photo can shrink if a card is crowded. */
.board .item.has-image:is([data-photo-layout=stacked],[data-photo-layout=wide]){display:flex;flex-direction:column}
.board .item.has-image[data-photo-layout=stacked]>.item-media{order:1;flex:1 1 var(--photo-share,65%);max-height:var(--photo-share,65%);align-self:stretch;width:auto}
.board .item.has-image[data-photo-layout=stacked]>.item-copy{order:2;flex:1 0 auto}
.board .item.has-image[data-photo-layout=stacked]>.special-masthead{order:0;flex:none;align-self:stretch}
.board .item.has-image[data-photo-layout=wide]{flex-direction:row}
.board .item.has-image[data-photo-layout=wide]>.item-media{order:0;flex:1 1 var(--photo-share,65%);max-width:var(--photo-share,65%);max-height:none;width:auto;align-self:stretch}
.board .item.has-image[data-photo-layout=wide]>.item-copy{order:1;flex:1 0 calc(100% - var(--photo-share,65%));justify-content:center}
/* A paired price row releases room for the photograph in small TV3 cards. */
.board .dish-grid .item.has-image[data-photo-layout=stacked]:not(.showcase-hero)>.item-copy{padding:.65cqw .8cqw .75cqw;gap:.4cqw}
.board .dish-grid .item.has-image[data-photo-layout=stacked]:not(.showcase-hero)>.item-media{padding:.35cqw}
.board .dish-grid .item[data-photo-layout=stacked]:not(.showcase-hero) .size-prices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65cqw}
.board .dish-grid .item[data-photo-layout=stacked]:not(.showcase-hero) .size-prices .variant{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.12cqw;padding:.1cqw 0 .25cqw}
/* List photos can grow without disturbing the two size-price columns. */
.board .sides-list .item.has-image[data-photo-layout=side]{grid-template-columns:minmax(0,calc(var(--photo-share,65%) * .5)) minmax(0,1fr)}
.board .sides-list .item.has-image[data-photo-layout=side]>.item-media{position:relative;inset:auto;transform:none;grid-column:1;grid-row:1;width:100%;height:100%;padding:.25cqw}
.board .sides-list .item.has-image[data-photo-layout=side]>.item-copy{grid-column:2;grid-row:1;padding:.6cqw .4cqw;padding-inline-start:.4cqw}
.board .sides-list .item.special-offer[data-photo-layout=side]>.special-masthead{grid-column:1/-1}
.board .sides-list .item.special-offer[data-photo-layout=side]>.item-media,.board .sides-list .item.special-offer[data-photo-layout=side]>.item-copy{grid-row:2}
.photo-priority-control{padding:12px;background:#fff5d9;border:1px solid #e4c16a;border-radius:8px}
.photo-space-control{font-weight:700}.photo-space-control output{float:inline-end;color:#8f5d06}.photo-space-control[hidden]{display:none}
.photo-preview-modes{display:flex;gap:6px;flex-wrap:wrap}.photo-preview-modes button{flex:1;min-height:38px}
.photo-card-canvas{width:100%;min-width:0;display:flex;justify-content:center;direction:ltr}
.photo-card-canvas[hidden],.photo-preview-stage[hidden]{display:none}
.photo-card-crop{position:relative;flex:none;overflow:hidden;background:#f6eedb;border-radius:3px}
.photo-card-crop .board *{animation:none!important}
.photo-layout-warning{font-size:12px;line-height:1.4;color:#825200;margin:0}
.photo-layout-warning[hidden]{display:none}
