/* SmartOne Casino: Handy-Ansicht.
 * Die Bühne passt ihre Größe dem Gerät an (siehe C.fitStage): .m-land = Handy quer, .m-port = Handy hoch.
 * Auf dem Handy liegt die Steuerleiste unter der Szene (nicht darüber), die Szene füllt den Rest. */

/* ---------- gemeinsam ---------- */
.m-land .room .scene, .m-land .room .hud,
.m-port .room .scene, .m-port .room .hud { bottom: var(--barh, 76px); }
.m-land .room .bar, .m-port .room .bar { height: auto; min-height: 64px; z-index: 40; }
.m-land .limits, .m-port .limits, .m-land .pk-mark, .m-port .pk-mark, .m-land .pk-log, .m-port .pk-log, .m-port .cc-tip, .m-land .cc-tip { display: none; }
.touch .rack-chip, .touch .btn, .touch .act, .touch .tab, .touch .icon-btn, .touch .camctl button, .touch .seg button, .touch .pre { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.m-land .bubble, .m-port .bubble { max-width: 210px; font-size: 13px; padding: 7px 12px; }
.m-land .modal, .m-port .modal { width: min(480px, calc(100% - 20px)); max-height: calc(100% - 20px); padding: 18px 20px; }
.m-land .modal.wide, .m-port .modal.wide { width: min(560px, calc(100% - 20px)); }
.m-land .toast, .m-port .toast { font-size: 13px; padding: 6px 14px; }
.m-land .round-banner, .m-port .round-banner { top: 22%; font-size: 24px; padding: 6px 22px; letter-spacing: 2px; }
.m-land .mode-banner, .m-port .mode-banner { top: 16%; font-size: 22px; padding: 8px 22px; letter-spacing: 3px; }
/* Summen der Karten bleiben auch auf dem kleinen Bildschirm groß */
.m-land .bj-seat .hand-badge, .m-port .bj-seat .hand-badge { font-size: 54px; }
.m-land .bj-seat:not(.hero) .hand-badge, .m-port .bj-seat:not(.hero) .hand-badge { font-size: 39px; }
.m-land .hand-badge.bj-dbadge, .m-port .hand-badge.bj-dbadge { font-size: 44px; }
.m-land .bj-seat .hand-badge.bj, .m-port .bj-seat .hand-badge.bj, .m-land .bj-seat .hand-badge.bust, .m-port .bj-seat .hand-badge.bust, .m-land .bj-seat .hand-badge.result, .m-port .bj-seat .hand-badge.result { font-size: 37px; }
.m-land .bj-seat:not(.hero) .hand-badge.bj, .m-port .bj-seat:not(.hero) .hand-badge.bj, .m-land .bj-seat:not(.hero) .hand-badge.bust, .m-port .bj-seat:not(.hero) .hand-badge.bust, .m-land .bj-seat:not(.hero) .hand-badge.result, .m-port .bj-seat:not(.hero) .hand-badge.result { font-size: 29px; }
.m-land .hand-badge.bj-dbadge.bj, .m-port .hand-badge.bj-dbadge.bj, .m-land .hand-badge.bj-dbadge.bust, .m-port .hand-badge.bj-dbadge.bust { font-size: 35px; }

/* ---------- Kopfleiste (nichts darf über den Rand ragen, Einstellungen immer erreichbar) ---------- */
.m-land #topbar, .m-port #topbar { padding: 0 6px; gap: 6px; overflow: hidden; }
.m-land #btn-gear, .m-port #btn-gear { display: grid; flex: 0 0 auto; }
.m-land .brand, .m-port .brand { width: auto; flex: 0 0 auto; }
.m-land .brand span:last-child, .m-port .brand span:last-child { display: none; }
.m-land #tabs, .m-port #tabs { flex: 1 1 auto; min-width: 0; justify-content: center; gap: 0; overflow: hidden; }
.m-land .tab { padding: 0 14px; font-size: 15px; }
.m-port .tab { padding: 0 9px; font-size: 13px; gap: 5px; letter-spacing: 0; }
.m-port .tab:not(.active) { font-size: 0; gap: 0; }
.m-port .ti { width: 20px; height: 20px; }
.m-port .tab.active::after { left: 6px; right: 6px; }
.m-land .top-right, .m-port .top-right { width: auto; flex: 0 0 auto; gap: 5px; }
.m-land .bal, .m-port .bal { min-width: 0; padding: 3px 9px; }
.m-port .bal-val { font-size: 16px; }
.m-port .bal-label { font-size: 8px; letter-spacing: 1px; }
.m-land .icon-btn, .m-port .icon-btn { width: 36px; height: 36px; flex: 0 0 auto; }
.m-port .icon-btn { width: 32px; height: 32px; }
.m-port #btn-rules, .m-port #btn-sound { display: none; }

/* Menü-Knopf unten links: bleibt erreichbar, auch wenn die Kopfleiste verdeckt ist (Spielwahl, Regeln, Ton, Abstand oben) */
.m-land #btn-fab, .m-port #btn-fab { display: grid; position: absolute; left: 8px; bottom: calc(var(--barh, 76px) + 8px); z-index: 60; width: 44px; height: 44px; background: rgba(23, 17, 10, 0.88); border: 1.5px solid #b08a2e; color: #ffe08a; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6); }
.m-land #btn-fab:active, .m-port #btn-fab:active { transform: scale(0.94); }

/* Spielwahl und Abstand im Menü */
.set-games { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.set-game { padding: 12px 6px; border-radius: 10px; border: 1px solid #6e5420; background: rgba(0, 0, 0, 0.35); color: #e9dfc2; font-size: 15px; font-weight: 700; cursor: pointer; }
.set-game.on { border-color: var(--gold-hi); background: rgba(255, 224, 138, 0.14); color: var(--gold-hi); }
.set-off { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.set-off span { flex: 1; font-size: 13px; color: #a79f8b; }
.set-off button { min-width: 44px; height: 38px; border-radius: 10px; border: 1px solid #6e5420; background: rgba(0, 0, 0, 0.35); color: #ffe08a; font-size: 18px; font-weight: 700; cursor: pointer; }

/* ---------- Kamera-Bedienung ---------- */
.m-land .camctl, .m-port .camctl { right: 8px; top: 8px; gap: 5px; }
.m-land .camctl button, .m-port .camctl button { height: 34px; padding: 0 12px; font-size: 13px; }
.m-port .camctl button { height: 32px; padding: 0 9px; font-size: 12px; }
.m-port .camctl .cl { display: none; }
.m-land .hud .drink-btn, .m-port .hud .drink-btn { top: auto; bottom: 8px; right: 8px; height: 44px; padding: 0 12px 0 10px; }
.m-land .hud .drink-btn.sip, .m-port .hud .drink-btn.sip { top: auto; bottom: 60px; }
.m-port .drink-grid { grid-template-columns: repeat(3, 1fr); }
.m-land .drink-grid { grid-template-columns: repeat(5, 1fr); }
.m-land .modal.drinks, .m-port .modal.drinks { width: calc(100% - 20px); }
.m-port .drink-card svg { width: 46px; height: 43px; }
.m-port .drink-tabs button { height: 32px; padding: 0 11px; }
.m-port .drink-barhint { flex-direction: column; align-items: stretch; text-align: center; }
.m-port .drink-gobar { height: 42px; }
.m-port .drink-send { width: 100%; height: 44px; }
.m-port .drink-chip { height: 32px; }
.m-port .drink-dur { height: 28px; padding: 0 9px; }
.m-port .shisha-time-btn { min-width: 0; flex: 1 1 40%; }
.m-port .slot-panel { bottom: 8px; padding: 10px; }
.m-port .slot-panel .sp-reels { height: 150px; }
.m-port .slot-panel .sp-money { flex-wrap: wrap; }
.m-port .slot-panel .sp-bets { width: 100%; justify-content: space-between; }
.m-port .slot-panel .sp-bet { flex: 1; height: 40px; }
.m-port .slot-panel .sp-spin { height: 52px; }
.m-land .slot-panel { bottom: 6px; padding: 8px 10px; width: min(420px, calc(100% - 200px)); }
.m-land .slot-panel .sp-reels { height: 110px; }
.m-land .hud .drink-btn.smoke, .m-port .hud .drink-btn.smoke { top: auto; bottom: 112px; }
.m-land .hud .drunk-badge, .m-port .hud .drunk-badge { top: auto; bottom: 164px; right: 8px; }
.m-land .hud .walk-btn, .m-port .hud .walk-btn { top: auto; right: auto; left: 60px; bottom: 8px; height: 44px; }
/* beim Laufen ist die Spielleiste ausgeblendet: das Bild reicht bis zum unteren Rand */
.m-land .view.walking .room .scene, .m-port .view.walking .room .scene { bottom: 0; }
.m-port #drunk-black p { font-size: 19px; padding: 0 24px; }
.m-port .camctl .cs { display: inline; }
.m-land .hud .rl-pop, .m-port .hud .rl-pop { width: 88px; height: 88px; bottom: 10px; border-radius: 13px; }
.m-land .hud .rl-pop b, .m-port .hud .rl-pop b { font-size: 40px; }
.m-land .hud .rl-pop span, .m-port .hud .rl-pop span { font-size: 9px; }
.m-port .cc-pan button { font-size: 18px; padding: 0 12px; }

/* ---------- Leisten allgemein ---------- */
.m-land .bar { padding: 6px 12px; gap: 10px; }
.m-land .bar .hint, .m-port .bar .hint { display: none; }
.m-land .btn { height: 46px; padding: 0 14px; font-size: 14px; }
.m-land .btn.big { height: 50px; min-width: 110px; font-size: 16px; }
.m-land .act { width: 100px; height: 54px; }
.m-land .rack { gap: 8px; }
.m-land .bar-info { min-width: 84px; }
.m-land .bar-info b { font-size: 21px; }

.m-port .bar { flex-wrap: wrap; justify-content: center; align-content: center; padding: 8px 10px 10px; gap: 8px 10px; }
.m-port .bar-info { flex: 1 0 100%; min-width: 0; display: flex; align-items: baseline; justify-content: center; gap: 10px; }
.m-port .bar-info b { font-size: 21px; }
.m-port .bar-mid { flex: 1 0 100%; }
.m-port .bar-right, .m-port .bet-actions { flex: 1 0 100%; justify-content: center; }
.m-port .bet-actions.on { display: flex; flex-wrap: wrap; }
.m-port .btn { height: 46px; padding: 0 12px; font-size: 14px; }
.m-port .btn.big { height: 50px; min-width: 120px; font-size: 16px; }
.m-port .panel { flex-wrap: wrap; justify-content: center; gap: 8px; }
.m-port .act { width: 92px; height: 56px; }
.m-port .act b { font-size: 16px; }
.m-port .act small { display: none; }
.m-port .rack { gap: 10px; }
.m-port .p-ins { text-align: center; }
.m-port .ins-q { font-size: 14px; flex: 1 0 100%; }

/* Chips in der Leiste größer, damit der Daumen sie trifft */
.touch .rack-chip .chip { --s: 54px !important; }
.m-port .rack-chip .chip { --s: 56px !important; }

/* ---------- Poker-Leiste ---------- */
.m-land .pk-bar { padding: 6px 12px; gap: 10px; }
.m-land .pk-left { width: 190px; }
.m-land .pk-right { display: none; }
.m-land .pk-slider { width: 130px; }
.m-land .pk-btns .btn { min-width: 130px; height: 44px; }
.m-land .pre { height: 30px; padding: 0 8px; }
.m-port .pk-left { width: 100%; flex-direction: row; justify-content: space-between; align-items: center; gap: 10px; }
.m-port .seg { flex: 1; }
.m-port .pk-center { flex: 1 0 100%; width: 100%; }
.m-port .pk-actions { width: 100%; }
.m-port .pk-raise { flex-wrap: wrap; justify-content: center; }
.m-port .pk-slider { width: 220px; }
.m-port .pk-btns { width: 100%; gap: 8px; }
.m-port .pk-btns .btn { min-width: 0; flex: 1; height: 50px; font-size: 15px; padding: 0 6px; }
.m-port .pk-right { display: none; }
.m-port .pk-next { gap: 10px; flex-wrap: wrap; justify-content: center; }
.m-port .pre { height: 32px; padding: 0 9px; }
.m-port .pk-amt { height: 32px; }

/* ---------- Roulette ---------- */
.m-land .hud .rl-side, .m-port .hud .rl-side { left: 8px; top: 8px; gap: 10px; padding: 5px 10px 6px; }
.m-land .hud .rl-hist { max-width: 190px; }
.m-port .hud .rl-hist { max-width: 150px; }
.m-land .hn, .m-port .hn { width: 24px; height: 24px; font-size: 11px; }
.m-port .hud .rl-result { min-width: 90px; }
.m-port .rl-res-val em { display: none; }
.m-land .bj-seat.hero .bj-hand:only-child .hand-badge, .m-port .bj-seat.hero .bj-hand:only-child .hand-badge { font-size: 64px; }
.m-land .bj-seat.hero .bj-hand:only-child .hand-badge.bj, .m-port .bj-seat.hero .bj-hand:only-child .hand-badge.bj, .m-land .bj-seat.hero .bj-hand:only-child .hand-badge.bust, .m-port .bj-seat.hero .bj-hand:only-child .hand-badge.bust, .m-land .bj-seat.hero .bj-hand:only-child .hand-badge.result, .m-port .bj-seat.hero .bj-hand:only-child .hand-badge.result { font-size: 42px; }

/* Zurufe aus dem Saal auf dem Handy etwas größer (die Bühne wird verkleinert) */
.m-port .sc-front > .callout, .m-land .sc-front > .callout { font-size: 15px; padding: 5px 11px 6px; }
