/*
 * Il listino (05/10/2026): lo stesso componente nella pagina dei partner (partner/index.php,
 * partner/listino/) e nel gestionale (backend/admin/listino-vedi.php). I colori della
 * piattaforma sono ripetuti qui, dentro .pt-lst, perché il gestionale non carica il foglio
 * comune (bvStileAssets()): così il listino ha la stessa faccia dappertutto.
 */
.pt-lst {
  --bv-blu: #0d6cae; --bv-blu-scuro: #0a5a96; --bv-blu-tinta: #eef6fc; --bv-blu-bordo: #b6d6ec;
  --bv-inchiostro: #10233a; --bv-testo: #35495f; --bv-tenue: #5c7286; --bv-fioco: #8b98a7;
  --bv-bordo: #dfe5ec; --bv-bordo-for: #c6d1dd; --bv-velo: #f7f9fb; --bv-avviso: #92600e;
  --bv-avviso-tinta: #fffbeb; --bv-avviso-bordo: #fde68a;
  font-family: 'Lato', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; color: var(--bv-testo);
}
.pt-lst .pt-in { width: 100%; height: 46px; padding: 0 40px 0 14px; border: 1.5px solid var(--bv-bordo-for); border-radius: 12px; background-color: #fff;
                 font: inherit; font-size: 15.5px; color: var(--bv-inchiostro); -webkit-appearance: none; appearance: none;
                 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c7286' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
                 background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; }
.pt-lst .pt-in:focus { outline: none; border-color: var(--bv-blu); box-shadow: 0 0 0 3px rgba(13,108,174,.15); }
.pt-lst-ctl { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; margin-bottom: 12px; }
.pt-lst-ctl label.pt-lst-da { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 700; color: var(--bv-inchiostro); }
.pt-lst-ctl label.pt-lst-da select { min-width: 220px; }
.pt-lst-schede { display: flex; flex-wrap: wrap; gap: 6px; }
.pt-lst-schede button { border: 1.5px solid var(--bv-bordo); background: #fff; border-radius: 12px; padding: 7px 12px; font: inherit; font-size: 13.5px; font-weight: 700;
                        color: var(--bv-inchiostro); cursor: pointer; text-align: left; line-height: 1.2; }
.pt-lst-schede button span { display: block; font-size: 11.5px; font-weight: 400; color: var(--bv-tenue); }
.pt-lst-schede button[aria-pressed=true] { background: var(--bv-inchiostro); border-color: var(--bv-inchiostro); color: #fff; }
.pt-lst-schede button[aria-pressed=true] span { color: rgba(255,255,255,.8); }
.pt-lst-notte { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; font-weight: 700; color: var(--bv-inchiostro); cursor: pointer;
                border: 1.5px solid var(--bv-bordo); border-radius: 12px; padding: 9px 12px; background: #fff; }
.pt-lst-notte input { width: 17px; height: 17px; accent-color: var(--bv-blu); }
.pt-lst-desc { font-size: 14.5px; color: var(--bv-tenue); margin: 0 0 14px; min-height: 1.4em; }
.pt-lst-indicativi { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; padding: 12px 16px; border-radius: 14px;
                     background: #fffbeb; border: 1px solid #fde68a; font-size: 14.5px; line-height: 1.45; color: #78350f; }
.pt-lst-indicativi b { color: #78350f; }
.pt-lst-indicativi a { color: #92400e; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.pt-lst-gas { display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px;
              background: var(--bv-velo); border: 1px solid var(--bv-bordo); font-size: 14px; color: var(--bv-testo); }
.pt-lst-gas b { color: var(--bv-inchiostro); }
.pt-lst-gas-quando { color: var(--bv-tenue); }
.pt-lst-pax { display: none; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.pt-lst-pax.on { display: flex; }
.pt-lst-pax button { border: 1.5px solid var(--bv-bordo); background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--bv-inchiostro); cursor: pointer; }
.pt-lst-pax button[aria-pressed=true] { background: var(--bv-blu); border-color: var(--bv-blu); color: #fff; }
.pt-lst-scroll { overflow-x: auto; border: 1px solid var(--bv-bordo); border-radius: 16px; background: #fff; }
.pt-lst table { border-collapse: collapse; width: 100%; }
.pt-lst th, .pt-lst td { padding: 10px 14px; border-bottom: 1px solid #edf1f5; text-align: right; white-space: nowrap; }
.pt-lst thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--bv-tenue); font-weight: 700; background: var(--bv-velo); }
.pt-lst thead th b { display: block; font-size: 14px; color: var(--bv-inchiostro); letter-spacing: 0; text-transform: none; }
.pt-lst th.d, .pt-lst td.d { text-align: left; white-space: normal; min-width: 170px; position: sticky; left: 0; background: #fff; }
.pt-lst thead th.d { background: var(--bv-velo); }
.pt-lst tr.g td { background: var(--bv-velo); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-tenue); text-align: left; position: static; }
.pt-lst td.d b { color: var(--bv-inchiostro); font-size: 15px; }
.pt-lst td .p { font-size: 15.5px; font-weight: 700; color: var(--bv-inchiostro); font-variant-numeric: tabular-nums; }
.pt-lst td.proprie { text-align: left; white-space: normal; font-size: 13px; color: var(--bv-tenue); }
.pt-lst td.proprie span { display: inline-block; margin-right: 12px; }
.pt-lst td.proprie b { color: var(--bv-inchiostro); }
.pt-lst tbody tr:hover td { background: #f8fbfe; }
.pt-lst-lista { display: grid; gap: 0; border: 1px solid var(--bv-bordo); border-radius: 16px; background: #fff; overflow: hidden; }
.pt-lst-lista .g { background: var(--bv-velo); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-tenue); padding: 8px 14px; }
.pt-lst-lista .r { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-top: 1px solid #edf1f5; align-items: baseline; }
.pt-lst-lista .r b { color: var(--bv-inchiostro); font-size: 15px; font-weight: 700; }
.pt-lst-lista .r .p { font-size: 16px; font-weight: 700; color: var(--bv-inchiostro); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pt-lst-note { margin: 14px 0 0; padding-left: 18px; font-size: 14px; color: var(--bv-tenue); }
.pt-lst-note li { margin: 4px 0; }
.pt-condividi { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }

/* Le tratte fra le località di casa, e le cose che servono solo nel gestionale. */
.pt-lst-sotto { margin: 26px 0 8px; font-size: 16px; font-weight: 700; color: var(--bv-inchiostro); }
.pt-lst td.d small { display: block; font-size: 12px; font-weight: 400; color: var(--bv-tenue); margin-top: 1px; }
.pt-lst td.d small.manca { color: var(--bv-avviso); }
.pt-lst td .su { display: block; font-size: 11.5px; font-weight: 700; color: #b45309; }
.pt-lst td .giu { display: block; font-size: 11.5px; font-weight: 700; color: #047857; }
@media print {
  .pt-lst-ctl, .pt-lst-pax, .pt-condividi, .pt-lst-gas-prova { display: none !important; }
  .pt-lst-scroll { overflow: visible; border: 0; }
  .pt-lst th.d, .pt-lst td.d { position: static; }
  .pt-lst tbody tr { break-inside: avoid; }
}

/* Il pulsante sotto il listino, anche dove il foglio dei partner non c'è (il gestionale). */
.pt-lst .pt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: 999px;
                  border: 0; background: var(--bv-blu); color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; text-decoration: none; }
.pt-lst .pt-btn:hover { background: var(--bv-blu-scuro); }
.pt-lst .pt-btn .bv-i { width: 18px; height: 18px; }
