/* Bistro — food: appetising full photo, serif name over it, paper texture, menu with dotted price leaders */
body.l-bistro{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.l-bistro .hero{position:relative;display:flex;align-items:flex-end;min-height:440px;overflow:hidden;background:#1a120c}
.l-bistro .cover{position:absolute;inset:0;height:auto;animation:bi-zoom 24s ease-in-out infinite alternate}
.l-bistro .hero.no-cover .cover{background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--s) 60%,#000),#1a120c 70%)}
@keyframes bi-zoom{to{transform:scale(1.1)}}
.l-bistro .hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 30%,#000c 88%)}
.l-bistro .id{position:relative;z-index:2;width:100%;padding:0 24px 30px;color:#fff}
.l-bistro .avatar{width:76px;height:76px;margin:0 auto 14px;border:3px solid #fff;font-size:30px}
.l-bistro .kicker{display:block;margin:0 auto 8px;color:var(--s);font:600 12px var(--fb);letter-spacing:.3em;text-transform:uppercase}
.l-bistro .title{display:none}
.l-bistro .hero h1{font:600 40px/1.05 var(--fh);color:#fff}
.l-bistro .company{color:#ffffffd9}
.l-bistro .tagline{color:#ffffffc0;font-style:italic}
.l-bistro .who::after{content:"— ✦ —";display:block;margin-top:12px;color:var(--s);letter-spacing:.3em;font-size:12px}
.l-bistro .actions{margin-top:16px}
.l-bistro .act{background:var(--sf);border-color:color-mix(in srgb,var(--tx) 10%,transparent)}
.l-bistro .blk>h2{text-align:center;font:italic 600 28px var(--fh);letter-spacing:0;text-transform:none;color:var(--tx)}
.l-bistro .blk>h2::after{content:"✦";display:block;margin-top:4px;font:normal 12px var(--fb);color:var(--p)}
.l-bistro .cat h3{text-align:center;font:600 13px var(--fb);letter-spacing:.24em;text-transform:uppercase;color:var(--p);margin-top:18px}
.l-bistro .cat .items{gap:0}
.l-bistro .cat .item{gap:12px;align-items:center;background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--tx) 10%,transparent);border-radius:0;padding:12px 0}
.l-bistro .cat .item img{width:68px;height:68px;border-radius:50%}
.l-bistro .ib{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:6px;padding:0}
.l-bistro .ib h4{grid-column:1;font:600 17px var(--fh)}
.l-bistro .ib h4::after{content:"";flex:1;min-width:16px;margin:0 2px 4px 6px;border-bottom:2px dotted color-mix(in srgb,var(--tx) 30%,transparent)}
.l-bistro .ib .price{grid-column:2;grid-row:1;margin:0;color:var(--p)!important;font:700 16px var(--fh)!important}
.l-bistro .ib .muted,.l-bistro .ib .enq,.l-bistro .ib .add,.l-bistro .ib .qty{grid-column:1/-1;justify-self:start;margin-left:0}
.l-bistro .panel,.l-bistro .svc label{border-color:color-mix(in srgb,var(--tx) 12%,transparent);border-radius:10px}
.l-bistro .btn,.l-bistro .add{border-radius:999px}
.l-bistro .btn-save{border-radius:999px;background:var(--p);border-color:var(--p);color:#fff!important}
.l-bistro .offer{border-radius:0;text-align:center;background:var(--tx);color:var(--bg);outline:1px dashed var(--s);outline-offset:-8px;padding:20px}
.l-bistro .actions{margin-top:20px}
