.welcome h1{color:var(--title-custom,#fff)}.home-card b,.home-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card b{line-height:1.55;color:var(--card-text,#fff)}.home-card small{color:var(--muted-text,#c9d6de)}.home-card.special{background:linear-gradient(115deg,color-mix(in srgb,var(--gold) 82%,#6b4518),color-mix(in srgb,var(--gold) 70%,#fff))}.home-card.special b{color:#082b50}.food-card{cursor:pointer;transition:transform .18s ease}.food-card:active{transform:scale(.98)}
.food-detail{display:none;position:fixed;inset:0;z-index:120;padding:18px;place-items:center}.food-detail.open{display:grid}.detail-backdrop{position:absolute;inset:0;border:0;background:#010912d9;backdrop-filter:blur(12px)}.detail-card{position:relative;width:min(100%,620px);max-height:90dvh;overflow:auto;background:#f7f0e1;border-radius:25px;color:#10283e;box-shadow:0 25px 90px #000b;animation:detailIn .25s ease}.detail-card>img{display:block;width:100%;height:min(55dvh,480px);object-fit:cover;background:#ddd}.detail-card>div{padding:20px 20px 24px}.detail-card small{color:#9a7538}.detail-card h2{margin:4px 0 6px;font-size:25px}.detail-card p{margin:0 0 16px;color:#64717a;line-height:1.9;font-size:13px}.detail-card strong{display:block;color:#082b50;font-size:21px}.detail-close{position:absolute;z-index:2;top:12px;left:12px;border:1px solid #ffffff55;background:#061d32c7;color:#fff;width:40px;height:40px;border-radius:13px;font-size:25px}.detail-card:after{content:'';position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;background:linear-gradient(#00101c7d,transparent)}@keyframes detailIn{from{opacity:0;transform:scale(.94) translateY(15px)}}

/* Flexible food preview: preserves portrait, landscape and square photos. */
.detail-media{position:relative;height:min(55dvh,460px);min-height:260px;display:grid;place-items:center;overflow:hidden;background:center/cover no-repeat #0b2234;padding:0!important}
.detail-media:before{content:'';position:absolute;inset:-24px;background:inherit;filter:blur(24px) brightness(.48);transform:scale(1.12)}
.detail-media:after{content:'';position:absolute;inset:0;background:#03132142}
.detail-media img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}
.detail-card>div:not(.detail-media){padding:20px 20px 24px}
