/* Short landscape screens retain the desktop table, with a compact footer and
   card sizes constrained by the felt height rather than the screen width. */
@media (max-width:1100px) and (max-height:520px) and (min-aspect-ratio:6/5) {
  body { --landscape-footer:104px; --landscape-safe-bottom:env(safe-area-inset-bottom,0px); }
  .game-stage { height:calc(100dvh - var(--landscape-footer) - var(--landscape-safe-bottom)); min-height:0; }
  .casino-table { height:100%; background-image:url('/demo/slam-7/assets/table/casino-table-v2.png'); background-size:100% 100%; background-position:center; }
  .casino-table:before { display:none; }
  #card-shoe-origin { left:88.3%; top:11.4%; }

  .topbar { height:34px; padding:3px max(10px,env(safe-area-inset-right,0px)) 3px max(10px,env(safe-area-inset-left,0px)); background:linear-gradient(#070605db,transparent); }
  .topbar .wordmark { top:3px; left:max(10px,env(safe-area-inset-left,0px)); height:25px; }
  .topbar nav { padding:1px 4px; }
  .menu-button { padding:5px 8px; font-size:9px; }
  .menu-button span { font-size:12px; margin-right:3px; }
  .table-brand { top:2%; left:35%; width:30%; height:22%; }
  .bonus-spot { top:17%; width:15%; height:26%; }
  .sevens-spot { left:.5%; } .poker-spot { right:.5%; }
  .bonus-spot .spot-stake { top:75%; }
  .bonus-spot .empty-wager-label { font-size:7px; padding:3px 7px; }
  .bonus-result { top:calc(100% + 6px); max-width:100%; font-size:8px; padding:3px 5px; line-height:1.2; }
  .bonus-result.no-payout { max-width:100%; font-size:7px; }

  .playing-field { left:50%; top:23%; width:min(78cqw,220cqh); height:68%; transform:translateX(-48.84467266%); --landscape-card-width:min(7.2cqw,12.8cqh); }
  .desktop-field { display:block; } .mobile-field { display:none; }
  .field-art path { stroke-width:1.6; }
  .playing-field .deal-zone { left:0; top:0; width:100%; height:100%; display:block; }
  .playing-field .hand { position:absolute; top:13%; width:24.5%; transform:none; }
  .playing-field .red-hand { left:17.5%; right:auto; }
  .playing-field .black-hand { left:55.8%; right:auto; }
  .playing-field .cards { display:flex; justify-content:center; gap:3px; padding:0; }
  .playing-field .hand .card-slot { width:var(--landscape-card-width); flex:0 0 var(--landscape-card-width); aspect-ratio:2/3; border-width:1.5px; border-radius:4px; transform:none; }
  .playing-field .playing-card,.playing-field .card-peel-overlay { border-radius:3px!important; }
  .playing-field .hand-heading { margin-top:5px; font-size:clamp(11px,1.8cqw,14px); line-height:1; }
  .playing-field .hand-caption { display:block; margin-top:3px; font-size:6.5px; letter-spacing:.4px; line-height:1; }
  /* Override the caption-clearance offsets used by taller tablet layouts. */
  #table .playing-field .hand-score { top:50%; width:32px; height:34px; transform:translateY(-50%); border-width:1px; border-radius:4px; background:#0d0909b3; }
  #table .playing-field .red-hand .hand-score { left:calc(-5cqw - 26px); right:auto; }
  #table .playing-field .black-hand .hand-score { right:calc(-5cqw - 26px); left:auto; }
  .hand-score>small { font-size:5.5px; letter-spacing:.5px; line-height:1.1; }
  .hand-score .score { font-size:21px; line-height:1; margin-top:2px; }
  .playing-field .slam-area { position:absolute; left:48.84467266%; top:10%; width:min(8.2cqw,14.5cqh); margin:0; transform:translateX(-50%); display:block; }
  .playing-field .slam-slot { width:100%; aspect-ratio:2/3; border-radius:4px; }
  .playing-field .slam-area>strong { margin-top:6px; font-size:9px; line-height:1; }
  .playing-field .slam-area>small { margin-top:3px; font-size:6px; line-height:1; }

  .playing-field .main-betting { left:0; top:42.8125%; width:100%; height:55%; display:grid; grid-template-columns:48.01026958% 1.668806162% 50.32092426%; }
  .playing-field .side-name { top:55%; left:59.4%; right:auto; width:15.5cqw; transform:translate(calc(-50.427% - 6px),-54.787%); }
  .playing-field .black-spot .side-name { top:55%; left:36.9%; right:auto; width:19.5cqw; transform:translate(calc(-51.011% + 1px),-53.690%); }
  .playing-field .main-amount { top:54.61%; right:9%; transform:translateY(-10%); }
  .playing-field .black-spot .main-amount { left:9%; right:auto; }
  .table-chip-stack { width:30px; height:22px; margin-top:5px; }
  .table-chip-image { width:30px; height:30px; }
  .table-chip-amount { font-size:8px; padding:2px 5px; min-width:29px; }
  .bonus-spot .table-chip-stack { width:26px; height:19px; }
  .bonus-spot .table-chip-image { width:26px; height:26px; }
  .bonus-spot .table-chip-amount { font-size:7px; padding:2px 4px; }
  .wager-profit { font-size:7px; margin-top:2px; }
  .casino-table .status-bar { top:auto; bottom:1%; left:20%; width:60%; height:auto; transform:none; gap:2px; }
  .casino-table .status-bar #status { height:auto; min-height:0; }
  .status-bar .has-result #status-message { position:relative; display:inline-block; left:auto; top:auto; transform:none; font-size:9px; padding:3px 8px; line-height:1.1; }
  .casino-table .status-bar .text-button { font-size:8px; }

  .control-panel { position:relative; bottom:auto; height:calc(var(--landscape-footer) + var(--landscape-safe-bottom)); padding-bottom:var(--landscape-safe-bottom); background:#211b18; }
  .chip-shelf { height:48px; justify-content:center; padding:0 max(10px,env(safe-area-inset-right,0px)) 0 max(10px,env(safe-area-inset-left,0px)); }
  .shelf-label { display:block; left:max(14px,env(safe-area-inset-left,0px)); font-size:7px; letter-spacing:1px; }
  .chips { gap:14px; }
  .chip { width:42px; height:42px; }
  .chip.active { transform:translateY(-3px); }
  .chip:hover:not(:disabled) { transform:translateY(-4px); }
  .leather-console { height:56px; padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px)); }
  .wallet-group { gap:6px; flex-direction:row; }
  .wallet,.total-bet { min-width:86px; height:34px; }
  .wallet>span,.total-bet>span { font-size:6px; line-height:1.1; }
  .wallet strong,.total-bet b { font-size:12px; }
  .round-actions { left:50%; top:50%; gap:7px; }
  .round-button { width:32px; height:32px; border-width:1px; }
  .round-button>span { font-size:18px; }
  .round-button>small { display:block; font-size:5px; letter-spacing:0; margin-top:1px; }
  .deal-button { width:50px; height:50px; border-width:2px; padding:6px; font-size:10px; }
  .deal-button:disabled { font-size:8px; }
  .toast { bottom:calc(var(--landscape-footer) + var(--landscape-safe-bottom) + 8px); padding:8px 14px; font-size:10px; }
  
}

@media (max-width:600px) and (max-height:520px) and (min-aspect-ratio:6/5) {
  .shelf-label { display:none; }
  .wallet-group { flex-direction:column; gap:3px; }
  .wallet-group .wallet,.wallet-group .total-bet { min-width:80px; height:22px; }
  .wallet-group .wallet>span,.wallet-group .total-bet>span { font-size:5px; }
  .wallet-group .wallet strong,.wallet-group .total-bet b { font-size:10px; }
}
