/* Bridge: sto za četvoro u parovima. Karte iz cards.css; ovde pločice, tabela licitacije, kutija za licitaciju, ugovor i stanja karata. */
.is-game .felt.bridge{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.bboard{position:absolute;inset:0}
.board.bboard,.bboard .card{touch-action:manipulation}
.bboard .card{transform-origin:50% 50%}
.bboard .card.gone{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .3s .3s}
.bboard .card.up{cursor:pointer}
.bboard .card.legal .front{box-shadow:0 0 0 2px rgba(240,212,145,.85),0 6px 14px rgba(0,0,0,.3)}
.bboard .card.dim .front,.bboard .card.wait .front{filter:brightness(.72) saturate(.6)}
.bboard .card.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 12px 24px rgba(0,0,0,.4)}
/* pločice igrača: naš par sa mesinganom ivicom levo, ranjiv par sa crvenom ivicom */
.plate{position:absolute;left:0;top:0;z-index:400;display:flex;align-items:center;gap:7px;min-width:130px;height:40px;padding:0 12px;border-radius:20px;
  background:rgba(20,10,4,.72);border:1px solid rgba(212,176,106,.3);box-shadow:0 6px 14px rgba(0,0,0,.35);font-size:14px;white-space:nowrap;transition:border-color .2s,box-shadow .2s}
.plate.us{box-shadow:inset 4px 0 0 var(--brass),0 6px 14px rgba(0,0,0,.35)}
.plate b{font:700 15px var(--sans)}
.plate .pos{font:800 12px var(--sans);font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:var(--cream-3)}
.plate small{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.plate.vul{border-color:rgba(232,104,92,.85)}
.plate.vul .pos{background:rgba(200,64,52,.55);color:#fff}
.plate.turn{border-color:var(--brass-hi);box-shadow:0 0 0 3px rgba(240,212,145,.25),0 6px 14px rgba(0,0,0,.35)}
.plate.us.turn{box-shadow:inset 4px 0 0 var(--brass),0 0 0 3px rgba(240,212,145,.25),0 6px 14px rgba(0,0,0,.35)}
.plate.p0{z-index:90}
/* natpis iznad ruke */
.bbanner{position:absolute;left:50%;top:58%;transform:translate(-50%,0);z-index:350;pointer-events:none;opacity:0;transition:opacity .25s;
  font:italic 700 clamp(18px,2.2vw,24px)/1.2 var(--serif);color:#fff3d6;text-shadow:0 2px 10px rgba(0,0,0,.6);text-align:center;white-space:nowrap}
.bbanner.on{opacity:1}
.bbanner span{font:800 14px var(--sans);font-style:normal;padding:3px 9px;border-radius:10px;background:rgba(0,0,0,.35);margin-left:6px;vertical-align:3px}
/* ugovor u gornjem levom uglu */
.bcon{position:absolute;left:10px;top:10px;z-index:410;display:none;flex-direction:column;align-items:flex-start;gap:1px;min-height:44px;padding:6px 12px;border-radius:14px;
  background:rgba(20,10,4,.78);border:1px solid rgba(212,176,106,.35);color:var(--cream);font:600 13px var(--sans);text-align:left;cursor:pointer}
.bcon.on{display:flex}
.bcon b{font:800 20px var(--sans)}
.bcon .tk{color:var(--cream-3);font-variant-numeric:tabular-nums}
.c-h,.c-d{color:#ff9d8f}
.bcon b.c-h,.bcon b.c-d{color:#ffb1a6}
/* uspravno: ugovor u jednom redu, ime nosioca je na pločici */
.bboard.portrait .bcon{flex-direction:row;align-items:center;gap:8px;min-height:40px;padding:4px 10px}
.bboard.portrait .bcon span:not(.tk){display:none}
/* tabela licitacije */
.bauc{position:absolute;z-index:420;display:none;padding:8px 10px;border-radius:14px;background:rgba(20,10,4,.78);border:1px solid rgba(212,176,106,.3);box-shadow:0 10px 26px rgba(0,0,0,.4)}
.bauc.on{display:block}
.bauc table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.bauc th{font:700 13px var(--sans);color:var(--cream);padding:0 2px 4px;overflow:hidden;text-overflow:clip;white-space:nowrap}
.bauc th small{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.bauc th.vul small{color:#ff9d8f}
.bauc td{text-align:center;padding:1px;height:30px}
.bauc td button{width:100%;min-height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.07);color:var(--cream);font:800 15px var(--sans);cursor:pointer;padding:0}
.bauc td button.c-x{font-size:13px;font-weight:700;color:var(--cream-3)}
.bauc td.now{color:var(--brass-hi);font:800 16px var(--sans)}
/* kutija za licitaciju */
.bbox{position:absolute;z-index:421;display:none;padding:10px;border-radius:16px;background:rgba(20,10,4,.86);border:1px solid rgba(212,176,106,.35);box-shadow:0 12px 30px rgba(0,0,0,.45);text-align:center}
.bbox.on{display:block}
.bbox-l,.bbox-s,.bbox-o{display:grid;gap:5px;margin-bottom:6px}
.bbox-l{grid-template-columns:repeat(7,1fr)}
.bbox-s{grid-template-columns:repeat(5,1fr)}
.bbox-o{display:flex;margin-bottom:0}
.bbox-o button{flex:1}
.bbox-o .bbox-q{flex:0 0 44px}
.bbox button{min-height:44px;min-width:0;border-radius:12px;border:1px solid rgba(212,176,106,.3);background:rgba(255,255,255,.06);color:var(--cream);font:800 17px var(--sans);cursor:pointer;padding:0}
.bbox-s button{font-size:22px}
.bbox-s .st-n{font-size:17px}
.bbox-s .st-h,.bbox-s .st-d{color:#ff9d8f}
.bbox-o button{font-size:15px}
.bbox button[aria-pressed=true]{background:linear-gradient(180deg,#f3d896,#c39a4b);color:#3a2410;border-color:transparent}
.bbox button:disabled{opacity:.3;cursor:not-allowed}
.bbox button[hidden]{display:none}
.bbox .bbox-q{border-radius:50%;color:var(--brass-hi)}
.bbox-m{margin:8px 2px 0;font-size:14px;line-height:1.35;color:var(--cream-3);text-align:left}
.bbox-m b{color:var(--cream)}
/* tabela rezultata u lampi */
.btable{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.btable th,.btable td{padding:7px 6px;text-align:center;border-bottom:1px solid rgba(212,176,106,.2)}
.btable tbody th,.btable tfoot th:first-child{text-align:left;font-weight:600;color:var(--cream-3)}
.btable thead th{font-size:13px;color:var(--brass-hi)}
.btable tfoot th{font-size:17px}
@media (max-width:640px){
  .plate{min-width:0;height:34px;padding:0 9px;gap:5px;font-size:12px}
  .plate b{font-size:13px}
  .plate small{display:none}
  .plate .pos{width:18px;height:18px;font-size:10px}
  .bbanner{font-size:16px;white-space:normal;width:90%}
  .bcon{padding:4px 9px;min-height:40px}
  .bcon b{font-size:17px}
  .bbox{padding:8px}
  .bbox button{min-height:40px;font-size:16px}
  .bbox-s button{font-size:20px}
  .bbox-l,.bbox-s,.bbox-o{gap:4px;margin-bottom:5px}
  .bbox-o .bbox-q{flex-basis:40px}
  .bbox-m{font-size:13px;margin-top:6px}
  .bauc{padding:6px}
  .bauc th{font-size:12px}
  .bauc td{height:26px}
  .bauc td button{min-height:24px;font-size:14px}
}
/* dva reda na telefonu: ugao karte (broj iznad znaka) mora da se vidi u uskom delu koji viri */
.bboard.small .card .tl{flex-direction:column;align-items:center;gap:0;left:5%;top:3%}
.bboard.small .card .r{font-size:calc(var(--cw)*.3)}
.bboard.small .card .is{width:calc(var(--cw)*.2);height:calc(var(--cw)*.2)}
/* poruka ide gore: dole je ruka */
.toast{bottom:auto;top:calc(var(--bar) + 14px);transform:translate(-50%,-20px)}
.toast.on{transform:translate(-50%,0)}
