/* Unified card geometry. All media is bounded by its own grid cell. */
.grid4{height:100%;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:hidden}
.grid4>.tile{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;position:relative}
.tile-image-frame{min-width:0;min-height:0;position:relative;overflow:hidden;background:#10131a}
.tile-image-frame>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center}
.tile>.bottom{min-height:68px;padding:10px;position:relative;background:#090d13}
.content.dining .head{height:14%;gap:8px}
.content.dining .head small{display:none}
.content.dining .member-inbox-button{display:none!important}
.dining #view{display:flex;flex-direction:column;gap:10px;overflow:hidden}
.menu-workspace{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.menu-tabs{display:flex;gap:7px;flex:none;overflow-x:auto;scrollbar-width:none}
.menu-tabs button{flex:1 0 auto;border:1px solid #39404a;border-radius:8px;background:#111821;color:#c5cdd5;padding:8px 5px;font-size:clamp(10px,.82vw,15px);font-weight:700;white-space:nowrap}
.menu-tabs button.selected{border-color:#dfb75f;background:#30291b;color:#ffe2a0}
.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-height:0;flex:1}
.menu-card{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;background:linear-gradient(130deg,#19212c,#0d131b);border:1px solid #55503f;border-radius:12px;overflow:hidden;text-align:left;color:white;padding:0;position:relative;transition:border-color .15s,background .15s}
.menu-card:hover{border-color:#f6d58e;background:#26251e}
.menu-card:active{border-color:#fff}
.menu-media{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;position:relative;background:radial-gradient(ellipse at center,#2a2619,#101720 72%);padding:0}
.menu-media img{display:block;position:static;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;flex:0 1 auto}
.menu-copy{padding:10px 12px;min-width:0;background:linear-gradient(110deg,#19212b,#0d131a);border-top:1px solid #ffffff12}
.menu-copy strong{display:block;font-size:clamp(11px,.94vw,17px);line-height:1.2;color:#fff;font-weight:700}
.menu-copy small{display:block;color:#aebac6;font-size:clamp(9px,.7vw,12px);line-height:1.3;margin-top:4px}
.menu-buy{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:8px;color:#f9d887;font-size:clamp(12px,1vw,18px);font-weight:750}
.menu-add{display:inline-flex;align-items:center;justify-content:center;background:#f3ce7c;color:#1e190f;border-radius:6px;padding:5px 9px;gap:5px;font-size:clamp(10px,.76vw,14px);white-space:nowrap}
.menu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-height:36px}
.menu-back,.menu-page{border:1px solid #52545a;background:#131a23;color:#e3e8ee;border-radius:7px;padding:7px 10px;font-weight:700;font-size:clamp(10px,.8vw,14px)}
.menu-page:disabled{opacity:.3;cursor:default}
.menu-pagination{display:flex;gap:8px;align-items:center;font-size:clamp(10px,.75vw,13px);color:#c2ccd6;white-space:nowrap}
.order-button{border:1px solid #edce86;border-radius:8px;background:linear-gradient(120deg,#f9df9c,#dcb45e);color:#211a0d;font-weight:800;padding:8px 12px;font-size:clamp(11px,.88vw,16px);white-space:nowrap}
.order-button:disabled{opacity:.4;cursor:default}
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 32%;gap:12px;min-height:0;flex:1}
.order-items{overflow:auto;min-height:0;border:1px solid #3b4652;border-radius:12px;background:#0d141e;padding:4px 14px}
.order-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #2c3541;padding:11px 0}
.order-name{font-weight:700;font-size:clamp(12px,.95vw,17px)}
.order-name small{display:block;color:#a9bac9;font-weight:400;margin-top:5px;font-size:clamp(10px,.75vw,13px)}
.quantity{display:flex;align-items:center;gap:10px;font-size:14px}
.quantity button{width:30px;height:30px;border:1px solid #647080;border-radius:6px;color:#ffdb8a;background:#182330;font-size:20px}
.order-summary{display:flex;flex-direction:column;gap:10px;border:1px solid #766239;border-radius:12px;background:linear-gradient(135deg,#262319,#101721);padding:16px;min-height:0;overflow:auto}
.order-summary h3{margin:0;color:#f8db9c;font-size:clamp(13px,1vw,18px)}
.order-summary p{margin:0;color:#bcc8d4;font-size:clamp(11px,.8vw,14px);line-height:1.4}
.order-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #756441;padding-top:12px;margin-top:auto;font-size:clamp(13px,1vw,18px)}
.order-total b{font-size:clamp(18px,1.6vw,28px);color:#ffe1a0}
.empty-order,.order-success{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:radial-gradient(ellipse,#28261d,#0c131c 70%);border:1px solid #645337;border-radius:12px;text-align:center}
.empty-order h2,.order-success h2{margin:0;color:#ffe0a0;font-size:clamp(19px,1.8vw,30px)}
.empty-order p,.order-success p{margin:0;color:#c0ccd7;font-size:clamp(11px,1vw,17px)}
.order-success .success-mark{display:grid;place-items:center;border:2px solid #e8c77f;color:#ffe1a2;border-radius:50%;width:48px;height:48px;font-size:30px}
@media(max-width:1100px){.menu-workspace,.dining #view{gap:6px}.menu-tabs button{padding:5px 3px}.menu-copy{padding:6px 7px}.menu-buy{margin-top:5px}.menu-add{padding:3px 6px}.menu-grid{gap:6px}.menu-footer{min-height:28px}.menu-back,.menu-page,.order-button{padding:5px 7px}.order-summary{padding:10px}.order-row{padding:7px 0}}

/* v1.30 — promotion and history cards use independent media and text cells. */
.entertainment-grid{height:100%;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.feature-card,.win-card{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid #57503b;border-radius:13px;overflow:hidden;background:#0c121b;color:#fff;text-align:left;padding:0}
.feature-card{cursor:pointer;transition:border-color .16s,box-shadow .16s}
.feature-card:hover{border-color:#eacc83;box-shadow:inset 0 0 0 1px #eacc8344}
.feature-media{position:relative;overflow:hidden;min-height:0;min-width:0;background:#0c121b}
.feature-media img{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:contain;object-position:center}
.feature-copy{min-height:0;display:flex;flex-direction:column;gap:8px;padding:13px 14px;background:linear-gradient(125deg,#1a222e,#0c131d);border-top:1px solid #ffffff12;height:clamp(94px,7.3vw,132px)}
.feature-copy h2{margin:0;font-size:clamp(12px,1vw,18px);color:#fff;line-height:1.2}
.feature-copy p{margin:0;font-size:clamp(10px,.76vw,13px);line-height:1.35;color:#afbfce}
.feature-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;color:#f5d995;font-weight:700;font-size:clamp(10px,.8vw,14px)}
.feature-action svg{height:20px;width:20px;stroke:currentColor;fill:none;stroke-width:2}
.win-copy{padding:12px 14px 13px;border-top:1px solid #ffffff12;background:linear-gradient(125deg,#1a222e,#0c131d);min-width:0;display:flex;flex-direction:column;gap:7px}
.win-copy h2{font-size:clamp(12px,1vw,18px);line-height:1.2;font-weight:700;margin:0;color:#fff}
.win-label{font-size:clamp(8px,.57vw,10px);letter-spacing:1.2px;color:#afbfce;font-weight:700}
.win-amount{color:#ffdf8e;font-size:clamp(16px,1.6vw,29px);line-height:1.1;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.win-date{display:flex;justify-content:space-between;gap:5px;color:#b6c4d0;font-size:clamp(8px,.68vw,12px);line-height:1.25}
.win-location{display:flex;align-items:center;gap:5px;border-top:1px solid #ffffff12;padding-top:7px;color:#d5dfea;font-size:clamp(9px,.72vw,13px)}
.win-location svg{width:13px;height:13px;flex:none;fill:none;stroke:#e9c477;stroke-width:1.6}
.win-location b{font-weight:700;letter-spacing:.6px;color:#fff}
.feature-detail{height:100%;display:grid;grid-template-columns:44% minmax(0,1fr);border:1px solid #64553a;border-radius:13px;background:linear-gradient(125deg,#101824,#080d15);overflow:hidden;min-height:0}
.feature-detail-art{min-width:0;min-height:0;overflow:hidden;background:#0c121b}
.feature-detail-art img{display:block;width:100%;height:100%;object-fit:contain}
.feature-detail-copy{padding:clamp(12px,1.8vw,30px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(8px,1vw,17px);min-width:0;min-height:0;overflow:auto}
.feature-detail-copy h2{font-size:clamp(20px,2.2vw,38px);margin:0;color:#ffe1a0;line-height:1.1}
.feature-detail-copy p{color:#c1ced9;font-size:clamp(11px,1vw,17px);margin:0;line-height:1.45}
.feature-eyebrow{font-size:clamp(9px,.7vw,12px);letter-spacing:1.5px;font-weight:700;color:#ddb96d}
.feature-member{border:1px solid #55533e;background:#20241e;padding:10px 14px;border-radius:8px;color:#e9deb9;font-size:clamp(10px,.8vw,14px)}
.santapanel img{object-fit:contain;background:#0c121b}

@media(max-width:1100px){.entertainment-grid{gap:7px}.feature-copy{padding:8px;gap:5px;height:96px}.win-copy{padding:8px;gap:5px}.win-location{padding-top:5px}.win-date{flex-wrap:wrap;gap:2px}}
.dining .menu-tabs button,.dining .menu-back,.dining .menu-page,.dining .order-button,.dining .quantity button{min-height:44px;min-width:44px}
.promotions-workspace{height:100%}.menu-workspace .entertainment-grid{height:auto;flex:1}.promotions-footer{justify-content:center}.promotions-footer .menu-page{min-height:44px;min-width:44px}
.feature-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#view>.empty-order{height:100%}
