/* Castelli Serate — pagina "Tavoli della serata". Usa le variabili di serate.css. */
.cigs.cigs-larga { max-width: 1080px; }
.cigs-dialog { --cigs-ink: #24283a; --cigs-muted: #525866; --cigs-line: #dfe5ec; --cigs-surface: #fff; --cigs-bg: #f6f8fa; --cigs-accent: #1f6f99; --cigs-chip: #eef6fb; --cigs-ok: #2f7d5b; --cigs-err: #b3262e; }
.cigs-testata { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 14px; }
.cigs h2.cigs-titolo { font-size: clamp(1.4rem, 3.4vw, 2rem); font-weight: 800; line-height: 1.15; }
.cigs-riepilogo { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13.5px; }
.cigs-riepilogo span { background: var(--cigs-surface); border: 1px solid var(--cigs-line); border-radius: 999px; padding: 4px 12px; font-variant-numeric: tabular-nums; }
.cigs-mia { border-color: var(--cigs-me); }
.cigs-ospite p + p { margin-top: 6px; }
.cigs-lista { margin: 0; padding-left: 1.2em; display: grid; gap: 4px; }

.cigs-persone { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 18px; }
.cigs-persone li { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cigs-persone li > span:last-child { display: grid; line-height: 1.3; }
.cigs-persone small { color: var(--cigs-muted); font-size: 12.5px; }

.cigs-av { width: 40px; height: 40px; border-radius: 10px; display: inline-grid; place-items: center; overflow: hidden; color: #fff; font-weight: 700; font-size: 13px; flex: 0 0 auto; background: var(--cigs-accent); }
.cigs-av img { width: 100%; height: 100%; object-fit: cover; display: block; }

.cigs-tavoli-elenco { display: grid; gap: 16px; }
.cigs-tavolo { background: var(--cigs-surface); border: 1px solid var(--cigs-line); border-radius: 16px; padding: 20px; display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 28px; align-items: center; scroll-margin-top: 110px; }
@media (max-width: 820px) { .cigs-tavolo { grid-template-columns: minmax(0, 1fr); gap: 16px; } }

/* Il tavolo è disegnato su una scena fissa 360×300 che si rimpicciolisce (--k) sugli schermi stretti */
.cigs-scena { position: relative; width: 100%; max-width: 360px; height: 300px; margin: 0 auto; }
.cigs-scena-in { position: absolute; left: 0; top: 0; width: 360px; height: 300px; transform-origin: 0 0; transform: scale(var(--k, 1)); }
.cigs-panno { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 6px; display: grid; place-items: center;
  background: linear-gradient(145deg, #3c7d5f, #2f6b4f 55%, #1f4a37); box-shadow: 0 0 0 7px #8a5a33, 0 12px 24px rgba(0,0,0,.2); }
.cigs-panno.cigs-unito::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: #1f4a37; opacity: .55; }
.cigs-scatola { height: 72%; width: auto; aspect-ratio: 1; border-radius: 5px; object-fit: cover; position: relative; z-index: 1; box-shadow: 0 4px 10px rgba(0,0,0,.35); transform: rotate(-6deg); background: #fff; }
.cigs-cop-vuota { display: grid; place-items: center; text-align: center; background: var(--cigs-ink); color: #fff; font-weight: 800; font-size: 10.5px; line-height: 1.15; padding: 6px; box-sizing: border-box; }

.cigs-sedia { position: absolute; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 14px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; text-decoration: none; box-sizing: border-box; }
.cigs-sedia .cigs-av-sedia { width: 58px; height: 58px; border-radius: 14px; font-size: 16px; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.cigs-sedia .cigs-av-ospite { background: #f2a93b; color: #3b2600; } /* ospiti: ambra pieno, ben diverso dai posti liberi e dai colori dei soci */
.cigs-sedia-nome { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 2px; font-size: 11.5px; font-weight: 600; color: var(--cigs-muted); white-space: nowrap; max-width: 96px; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
.cigs-sedia.cigs-mostra-nome .cigs-sedia-nome { max-width: none; background: var(--cigs-ink); color: #fff; border-radius: 6px; padding: 2px 6px; z-index: 3; }
.cigs-sedia.cigs-libera { background: #fff; color: #6b7480; border: 2px dashed #8a929e; font-size: 26px; font-weight: 500; cursor: pointer; }
.cigs-sedia.cigs-libera:hover { box-shadow: 0 0 0 4px rgba(31,111,153,.3); color: var(--cigs-accent); border-color: var(--cigs-accent); }
.cigs-sedia.cigs-anonima { background: #8b91a0; box-shadow: 0 2px 6px rgba(0,0,0,.2); }

button.cigs-sedia { cursor: pointer; }

.cigs-scheda { display: grid; gap: 12px; min-width: 0; }
.cigs-testa { display: flex; gap: 16px; align-items: start; }
.cigs-cop { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 8px; object-fit: cover; box-shadow: 0 3px 8px rgba(0,0,0,.2); }
.cigs-titolo-gioco { display: grid; gap: 4px; min-width: 0; flex: 1 1 auto; }
.cigs-titolo-gioco h3 { margin: 0; font-size: 1.2rem; font-weight: 800; line-height: 1.25; }
.cigs-titolo-gioco h3 small { font-size: .8rem; font-weight: 500; color: var(--cigs-muted); }
.cigs-dati { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 13px; color: var(--cigs-muted); font-variant-numeric: tabular-nums; }
.cigs-dati b { color: var(--cigs-ink); font-weight: 600; }
.cigs-peso { display: inline-flex; gap: 3px; vertical-align: middle; margin-left: 4px; }
.cigs-peso i { width: 9px; height: 9px; border-radius: 2px; background: var(--cigs-line); }
.cigs-peso i.on { background: #b7782f; }
.cigs-tag { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: var(--cigs-chip); color: var(--cigs-accent); white-space: nowrap; }
.cigs-tag-pieno { background: transparent; border: 1px solid var(--cigs-line); color: var(--cigs-muted); }
.cigs-nota { margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--cigs-chip); font-size: 14px; border: 0; }
.cigs-nota cite { display: block; font-style: normal; font-size: 12px; font-weight: 600; color: var(--cigs-muted); margin-bottom: 2px; }
.cigs-seduti { font-size: 13.5px; color: var(--cigs-muted); }
.cigs-seduti b { color: var(--cigs-ink); font-weight: 600; }
.cigs-link-btn { background: none; border: 0; padding: 0; color: var(--cigs-accent); font: inherit; font-size: 13.5px; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }
.cigs-condividi { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 13px; }
@media (max-width: 480px) { .cigs-testa { flex-wrap: wrap; } }

/* Pannelli */
.cigs-dialog { border: 0; border-radius: 18px; padding: 0; width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 40px); color: var(--cigs-ink); box-shadow: 0 24px 60px rgba(0,0,0,.3); font-family: inherit; }
.cigs-dialog::backdrop { background: rgba(20, 22, 34, .5); }
.cigs-modulo { display: grid; gap: 14px; padding: 22px; }
.cigs-modulo h2 { margin: 0; font-size: 1.25rem; font-weight: 800; }
.cigs-modulo p { margin: 0; }
.cigs-modulo select, .cigs-modulo input[type="text"], .cigs-modulo input[type="search"] { padding: 10px 12px; border-radius: 10px; border: 1px solid var(--cigs-line); background: var(--cigs-bg); color: var(--cigs-ink); width: 100%; box-sizing: border-box; font: inherit; }
.cigs-modulo fieldset { border: 0; padding: 0; margin: 0; }
.cigs-modulo legend { font-weight: 600; font-size: 13.5px; margin-bottom: 8px; padding: 0; }
.cigs-scelta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; }
.cigs-scelta select { width: auto; flex: 1 1 180px; }
.cigs-chip-radio { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--cigs-line); background: var(--cigs-chip); border-radius: 999px; padding: 6px 14px; font-size: 14px; cursor: pointer; }
.cigs-chip-radio:has(input:checked) { background: var(--cigs-ink); color: #fff; border-color: var(--cigs-ink); }
.cigs-destra { justify-content: flex-end; }

/* Apri un tavolo: scelta della fonte; risultati lunghi (collezione) scorrevoli */
.cigs-etichetta { font-weight: 600; font-size: 13.5px; }
.cigs-modulo .cigs-chip { border: 1px solid var(--cigs-line); background: var(--cigs-chip); color: var(--cigs-ink); border-radius: 999px; padding: 6px 14px; font-size: 13.5px; cursor: pointer; font: inherit; }
.cigs-modulo .cigs-chip[aria-pressed="true"] { background: var(--cigs-ink); color: #fff; border-color: var(--cigs-ink); }
.cigs-risultati-lunghi { max-height: 260px; overflow: auto; }

/* Chi ce l'ha? */
.cigs-chi summary { cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cigs-chi summary::-webkit-details-marker { display: none; }
.cigs-chi summary h2::after { content: " ▾"; font-size: .8em; color: var(--cigs-muted); }
.cigs-chi[open] summary h2::after { content: " ▴"; }
.cigs-chi[open] { gap: 12px; }
.cigs-chi input[type="search"] { padding: 10px 12px; border-radius: 10px; border: 1px solid var(--cigs-line); background: var(--cigs-bg); width: 100%; box-sizing: border-box; font: inherit; }
.cigs-chi-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cigs-chi-lista li { display: flex; gap: 12px; align-items: center; font-size: 14px; line-height: 1.45; }
.cigs-chi-lista img, .cigs-chi-lista .cigs-cop-vuota { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 8px; object-fit: cover; font-size: 8px; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.cigs-chi-lista small { color: var(--cigs-muted); }

/* Impaginazione compatta (16 ottobre): intestazione in una riga, stato personale in una striscia */
.cigs-barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; background: var(--cigs-surface); border: 1px solid var(--cigs-line); border-radius: 14px; padding: 12px 16px; }
.cigs-barra-info { min-width: 0; }
.cigs h2.cigs-quando { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.3; }
.cigs-conteggi { margin: 2px 0 0; font-size: 13px; color: var(--cigs-muted); font-variant-numeric: tabular-nums; }
.cigs-conteggi b { color: var(--cigs-ink); font-weight: 600; }
.cigs-btn-barra { padding: 8px 14px; font-size: 14px; }
.cigs-striscia { margin: 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; font-size: 14px; padding: 10px 16px; border-radius: 12px; background: var(--cigs-surface); border: 1px dashed var(--cigs-line); }
.cigs-striscia-mia { background: #fdf6ec; border: 1px solid #f0dcc0; }
.cigs-striscia .cigs-riga { gap: 14px; }
.cigs-senza { gap: 10px; padding: 14px 16px; }
.cigs-senza p { font-size: 14px; }
.cigs-chi { padding: 14px 16px; gap: 10px; }
.cigs-chi-spiega { margin: 0; font-size: 14px; font-weight: 500; color: var(--cigs-ink); }
.cigs-nessuno { margin: 0; font-size: 14px; color: #9b2c2c; background: #fdf1f1; border: 1px solid #f3d0d0; border-radius: 10px; padding: 8px 12px; }

/* Conteggi colorati nella barra della serata */
.cigs-numeri { list-style: none; margin: 4px 0 0; padding: 0; flex: 1 1 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.cigs-numeri li { display: flex; align-items: baseline; gap: 8px; border-radius: 12px; padding: 10px 14px; min-width: 0; }
.cigs-numeri b { font-size: 1.75rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.cigs-numeri span { font-size: 13.5px; font-weight: 600; line-height: 1.2; }
.cigs-n-presenti { background: #24283a; color: #fff; }
.cigs-n-tavoli   { background: #e3f1e9; color: #1f5a40; }
.cigs-n-senza    { background: #fbefdc; color: #8a5413; }
.cigs-n-aperti   { background: #e6f2fa; color: #1a5f84; }
@media (max-width: 640px) { .cigs-numeri { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cigs-numeri b { font-size: 1.45rem; } }

/* Link d'azione (Non vengo più, Cambia la nota, Chiudi, Lascia il posto…): in grassetto pieno, il sito ha Poppins 700 */
.cigs .cigs-link-btn { font-weight: 700; }

/* "Chi ce l'ha?" in evidenza: oro del logo (l'azione principale resta "+ Apri un tavolo" in blu notte) */
.cigs-btn-chi { background: #fbefdc; color: #7a4a0f; border: 1px solid #e4bf86; }
.cigs-btn-chi:hover, .cigs-btn-chi[aria-expanded="true"] { background: #f5dfba; color: #6a3f0a; border-color: #d0944a; }

/* Sedie occupate (soci e ospiti): bordo verde; chi ha aperto il tavolo: bordo rosso */
button.cigs-sedia .cigs-av-sedia { box-shadow: 0 0 0 3px #fff, 0 0 0 6px #2f9e5b, 0 3px 8px rgba(0,0,0,.25); }
button.cigs-sedia.cigs-capo .cigs-av-sedia { box-shadow: 0 0 0 3px #fff, 0 0 0 6px #c0392b, 0 3px 8px rgba(0,0,0,.25); }
.cigs-legenda { margin: 0; font-size: 12.5px; color: var(--cigs-muted); display: flex; flex-wrap: wrap; gap: 4px 14px; }
.cigs-legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.cigs-avviso { background: #fdf1f1; border: 1px solid #f3d0d0; color: #9b2c2c; }
.cigs .cigs-link-stat { margin-right: 4px; font-size: 14px; text-decoration: none; }
.cigs .cigs-link-stat:hover { text-decoration: underline; }

/* Copertine intere con le loro proporzioni (niente ritaglio a quadrato): sul tavolo, nella scheda e in "Chi ce l'ha?" */
img.cigs-scatola { width: auto; height: auto; max-width: 74%; max-height: 80%; aspect-ratio: auto; object-fit: contain; background: transparent; }
img.cigs-cop { height: auto; max-height: 132px; object-fit: contain; align-self: flex-start; }
.cigs-chi-lista img { height: auto; max-height: 72px; object-fit: contain; }
/* Nome delle sedie del lato alto: sopra la sedia (sotto finirebbe sul panno) */
.cigs-sedia.cigs-sopra .cigs-sedia-nome { top: auto; bottom: 100%; margin-top: 0; margin-bottom: 3px; }
/* Ricerca soci (responsabili) */
.cigs-risultato-socio { display: flex; align-items: center; gap: 10px; }
.cigs-risultato-socio .cigs-av { width: 34px; height: 34px; font-size: 12px; }
.cigs-risultato-socio small { color: var(--cigs-muted); }
/* Elenco presenti (responsabili) */
.cigs-presenti-box { max-height: 55vh; overflow: auto; }
.cigs-presenti-box h3 { margin: 10px 0 6px; font-size: 15px; }
.cigs-lista-presenti { padding-left: 1.8em; font-size: 14px; }
.cigs .cigs-togli-presente { margin-left: 6px; font-size: 12.5px; color: #9b2c2c; }
.cigs-persona-btn { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cigs-persona-btn > span:last-child { display: grid; line-height: 1.3; }
.cigs-persona-btn:hover b { text-decoration: underline; }

/* Risultato della partita ("Com'è andata?"): pulsante, riquadro sul tavolo e modulo */
.cigs .cigs-btn-risultato { justify-self: start; min-height: 44px; }
.cigs-risultato { display: grid; gap: 10px; border: 1px solid #ecd9b8; background: #fffaf2; border-radius: 14px; padding: 12px 14px; }
.cigs-ris-testa { display: flex; align-items: center; gap: 12px; }
.cigs-ris-icona { font-size: 26px; line-height: 1; }
.cigs-ris-testa > span:last-child { display: grid; line-height: 1.3; }
.cigs-ris-testa small { font-size: 12.5px; font-weight: 600; color: #6b4a14; }
.cigs-ris-testa b { font-size: 1.1rem; font-weight: 800; }
.cigs-ris-vinto { border-color: #bfe0cd; background: #f1f9f4; }
.cigs-ris-vinto .cigs-ris-testa small { color: #22603f; }
.cigs-ris-perso { border-color: var(--cigs-line); background: var(--cigs-bg); }
.cigs-ris-perso .cigs-ris-testa small { color: var(--cigs-muted); }
.cigs-ris-nota { font-size: 13.5px; font-style: italic; color: var(--cigs-muted); }
.cigs-ris-piede { justify-content: space-between; border-top: 1px solid #efe3cf; padding-top: 8px; }
.cigs-classifica { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font-size: 14.5px; }
.cigs-classifica li { display: flex; align-items: center; gap: 10px; padding: 5px 8px; border-radius: 9px; }
.cigs-classifica li.cigs-primo { background: #fdf0db; color: #5a3d10; font-weight: 600; }
.cigs-pos { width: 2.2em; font-weight: 800; font-variant-numeric: tabular-nums; }
.cigs-chi-gioca { flex: 1 1 auto; min-width: 0; }
.cigs-chi-gioca small { font-weight: 400; font-size: 12px; color: #7a5a1c; }
.cigs-punti { font-weight: 700; font-variant-numeric: tabular-nums; }
.cigs-r-righe { display: grid; border: 1px solid #dfe5ec; border-radius: 14px; padding: 2px 12px; }
.cigs-r-riga { display: flex; align-items: center; gap: 10px; min-height: 56px; border-bottom: 1px solid #eef1f5; }
.cigs-r-riga:last-child { border-bottom: 0; }
.cigs-r-nome { flex: 1 1 auto; min-width: 0; display: grid; line-height: 1.25; }
.cigs-r-nome small { font-size: 11.5px; color: #7a5a1c; }
.cigs-dialog .cigs-av { width: 34px; height: 34px; font-size: 12px; border-radius: 9px; }
.cigs-dialog .cigs-av-ospite { background: #f2a93b; color: #3b2600; }
.cigs-dialog input.cigs-r-punti { width: 96px; flex: 0 0 auto; height: 44px; text-align: right; font-weight: 700; }
.cigs-r-vinci, .cigs-r-coop { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cigs-r-vince { display: flex; align-items: center; gap: 8px; min-height: 56px; padding: 8px 10px; border: 1px solid #dfe5ec; border-radius: 12px; background: #fff; color: #24283a; font: inherit; text-align: left; cursor: pointer; }
.cigs-r-vince[aria-pressed="true"] { background: #fdf3e3; border: 2px solid #d0944a; }
.cigs-r-esito { min-height: 60px; border: 1px solid #dfe5ec; border-radius: 14px; background: #fff; color: #24283a; font: inherit; font-size: 17px; font-weight: 700; cursor: pointer; }
.cigs-r-esito[data-esito="vinto"][aria-pressed="true"] { background: #2f7d5b; border-color: #2f7d5b; color: #fff; }
.cigs-r-esito[data-esito="perso"][aria-pressed="true"] { background: #525866; border-color: #525866; color: #fff; }
.cigs-dialog .cigs-ris-cancella { color: #9b2c2c; margin-right: auto; }
@media (max-width: 420px) { .cigs-r-vinci { grid-template-columns: minmax(0, 1fr); } }
