#lucine-biglietti { --lb-testo: #06163a; --lb-tenue: #5b6478; --lb-bordo: #cfd8e6; --lb-fondo: #fff; --lb-scelto: #06163a; --lb-su-scelto: #fff; --lb-caldo: #fff4d6; --lb-avviso: #a4262c;
  --lb-tranquilla: #2e8b57; --lb-richiesta: #e0a100; --lb-quasi: #d9480f; --lb-esaurita: #9aa1b1;
  color: var(--lb-testo); font: inherit; max-width: 34rem; }
#lucine-biglietti h3 { font-size: 1.05rem; margin: 1.5rem 0 .5rem; }
#lucine-biglietti p { margin: 0; }
#lucine-biglietti button { font: inherit; color: inherit; cursor: pointer; }
#lucine-biglietti button:disabled { cursor: not-allowed; }
#lucine-biglietti button:focus-visible, #lucine-biglietti input:focus-visible { outline: 3px solid #4c7dff; outline-offset: 2px; }
#lucine-biglietti small { font-size: .82rem; color: var(--lb-tenue); }

.lb-calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .3rem; }
.lb-giorno-nome { text-align: center; font-size: .75rem; color: var(--lb-tenue); padding-bottom: .1rem; }
.lb-cella { position: relative; min-height: 3.1rem; display: grid; justify-items: center; align-content: center; gap: .15rem; padding: .3rem 0; background: var(--lb-fondo); border: 1px solid var(--lb-bordo); border-radius: .55rem; font-variant-numeric: tabular-nums; }
.lb-cella b { font-size: 1.05rem; line-height: 1; }
#lucine-biglietti .lb-cella small { position: absolute; top: .15rem; left: .3rem; font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; }
.lb-vuota { background: none; border-color: transparent; color: var(--lb-bordo); font-size: .95rem; }
.lb-punto { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--lb-esaurita); }
.lb-tranquilla .lb-punto, .lb-punto.lb-tranquilla { background: var(--lb-tranquilla); }
.lb-richiesta .lb-punto, .lb-punto.lb-richiesta { background: var(--lb-richiesta); }
.lb-quasi .lb-punto, .lb-punto.lb-quasi { background: var(--lb-quasi); }
/* Tre modi di segnare lo stato, scelti dal blocco con data-segni: «punti» (di serie), «barra», «solo-dove-serve». */
#lucine-biglietti[data-segni="barra"] .lb-cella .lb-punto { position: absolute; left: 22%; right: 22%; bottom: .3rem; width: auto; height: 3px; border-radius: 2px; }
#lucine-biglietti[data-segni="barra"] .lb-cella { padding-bottom: .7rem; }
#lucine-biglietti[data-segni="solo-dove-serve"] .lb-tranquilla .lb-punto { visibility: hidden; }
#lucine-biglietti[data-segni="solo-dove-serve"] .lb-legenda span:first-child { display: none; }
.lb-cella.lb-esaurita, .lb-cella.lb-chiusa { background: none; color: var(--lb-esaurita); }
.lb-cella.lb-esaurita b { text-decoration: line-through; }
.lb-vicine { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: .4rem; margin-bottom: .8rem; }
.lb-vicina { min-height: 3.3rem; display: grid; justify-items: start; align-content: center; gap: .1rem; padding: .4rem .8rem; border: 1px solid var(--lb-bordo); border-radius: .55rem; }
#lucine-biglietti .lb-vicina small { display: inline-flex; align-items: center; gap: .3rem; }
#lucine-biglietti .lb-vicina[aria-pressed="true"] { background: var(--lb-scelto); border-color: var(--lb-scelto); color: var(--lb-su-scelto); }
#lucine-biglietti .lb-vicina[aria-pressed="true"] small { color: var(--lb-su-scelto); }
.lb-legenda { display: flex; flex-wrap: wrap; gap: .2rem .7rem; margin: 0 0 .6rem !important; font-size: .76rem; color: var(--lb-tenue); }
.lb-legenda span { display: inline-flex; align-items: center; gap: .35rem; }

.lb-fasce { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.lb-fascia { min-height: 3.3rem; display: grid; justify-items: center; align-content: center; background: var(--lb-fondo); border: 1px solid var(--lb-bordo); border-radius: .55rem; }
.lb-fascia:disabled { background: none; border-style: dashed; color: var(--lb-esaurita); }
.lb-fascia:disabled b { text-decoration: line-through; }
#lucine-biglietti .lb-fascia small { display: inline-flex; align-items: center; gap: .3rem; font-size: .74rem; white-space: nowrap; }
#lucine-biglietti [data-passo] { scroll-margin-top: 1rem; }
#lucine-biglietti .lb-cella[aria-pressed="true"], #lucine-biglietti .lb-fascia[aria-pressed="true"] { background: var(--lb-scelto); border-color: var(--lb-scelto); color: var(--lb-su-scelto); }
#lucine-biglietti .lb-cella[aria-pressed="true"] small, #lucine-biglietti .lb-fascia[aria-pressed="true"] small { color: var(--lb-su-scelto); }

.lb-tipo { padding: .6rem 0 .7rem; border-bottom: 1px solid var(--lb-bordo); }
.lb-vicina { background: var(--lb-fondo); }
.lb-riga { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.75rem; }
.lb-per-chi { display: block; margin-top: .15rem; }
.lb-note { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; font-size: .88rem; color: var(--lb-tenue); }
.lb-note b { color: var(--lb-testo); }
.lb-note b::after { content: " ·"; font-weight: 400; color: var(--lb-tenue); }
.lb-note a { color: var(--lb-testo); font-weight: 600; text-underline-offset: .15em; white-space: nowrap; }
.lb-note a::after { content: " →"; }
.lb-note:empty { display: none; }
.lb-salta > span { display: grid; gap: .15rem; min-width: 0; }
.lb-prezzo { margin-left: .5rem; font-weight: 400; white-space: nowrap; flex: 0 0 auto; }
.lb-quanti { display: inline-flex; align-items: center; gap: .3rem; flex: 0 0 auto; }
.lb-quanti button { width: 2.75rem; height: 2.75rem; font-size: 1.3rem; background: var(--lb-fondo); border: 1px solid var(--lb-bordo); border-radius: 50%; }
.lb-quanti button:disabled { opacity: .4; }
.lb-quanti output { min-width: 1.8rem; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-nota { font-size: .9rem; color: var(--lb-tenue); margin-top: .7rem !important; }
.lb-nota.lb-sopra { margin: 0 0 .6rem !important; }

/* La scelta in cima è un interruttore a pillola, non un pulsante come le sere. */
.lb-modi { display: grid; grid-template-columns: 1fr 1fr; }
#lucine-biglietti .lb-modo { min-height: 2.9rem; display: flex; align-items: baseline; justify-content: center; gap: .4rem; background: none; border: 0; }
.lb-modo-cosa { margin: .7rem 0 1.1rem !important; font-size: .92rem; color: var(--lb-tenue); }
#lucine-biglietti .lb-modi { padding: 4px; background: #e4e8f0; border-radius: 99px; }
#lucine-biglietti .lb-modi .lb-modo { border-radius: 99px; color: var(--lb-tenue); align-items: center; }
#lucine-biglietti .lb-modi .lb-modo[aria-selected="true"] { background: var(--lb-fondo); color: var(--lb-testo); box-shadow: 0 1px 3px rgba(20, 33, 61, .18); }
.lb-scelta-fatta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .4rem; padding: .6rem .9rem; background: var(--lb-fondo); border: 1px solid var(--lb-bordo); border-radius: .6rem; }
.lb-scelta-fatta > span { display: grid; gap: .1rem; min-width: 0; }
.lb-scelta-fatta b { font-size: 1.08rem; }
#lucine-biglietti .lb-scelta-fatta small { display: inline-flex; align-items: center; gap: .35rem; }
.lb-scelta-fatta.lb-tranquilla .lb-punto { display: none; }
#lucine-biglietti .lb-cambia { flex: 0 0 auto; min-width: 7.6rem; min-height: 2.75rem; padding: 0 .9rem; background: none; border: 1px solid var(--lb-bordo); border-radius: 99px; font-size: .9rem; font-weight: 600; }
.lb-gratis { flex: 0 0 auto; }
.lb-gruppo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .7rem !important; padding: .6rem .9rem; border-radius: .6rem; background: #fff4d6; color: #5c3d00; font-size: .9rem; font-weight: 600; }
.lb-gruppo > span { display: grid; gap: .1rem; }
.lb-gruppo.lb-scattato { background: #e2f3ea; color: #14532d; font-weight: 400; }
#lucine-biglietti .lb-gruppo.lb-scattato small { color: #14532d; }
.lb-gruppo.lb-scattato > b { font-size: 1.05rem; white-space: nowrap; }
.lb-fiducia { max-width: 34rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid #cfd8e6; display: grid; gap: .7rem; justify-items: center; font-size: .86rem; color: #5b6478; }
.lb-fiducia b { color: #06163a; }
.lb-fiducia .lb-stelle { color: #e0a100; letter-spacing: .1em; }
.lb-pagamenti { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.lb-pagamenti li { line-height: 0; }
.lb-pagamenti svg { width: 38px; height: 24px; }
.lb-pagamenti .lb-finto { line-height: 1.2; padding: .2rem .5rem; border: 1px solid #cfd8e6; border-radius: .3rem; background: #fff; font-size: .72rem; font-weight: 600; color: #06163a; }
.lb-niente { flex: 0 0 auto; font-size: .82rem; color: var(--lb-tenue); }
.lb-dopo { margin-top: .6rem !important; text-align: center; font-size: .86rem; color: var(--lb-tenue); }
.lb-gia-carrello { margin-bottom: .6rem !important; font-weight: 700; }

.lb-salta { margin-top: 1rem; background: var(--lb-fondo); border: 1px solid var(--lb-bordo); border-radius: .6rem; overflow: hidden; }
.lb-affluenza { display: flex; align-items: center; gap: .8rem; padding: .7rem .9rem; border-bottom: 1px solid var(--lb-bordo); }
.lb-affluenza > span:last-child { display: grid; gap: .1rem; }
.lb-affluenza b { font-weight: 600; }
.lb-affluenza em { font-style: normal; font-weight: 700; }
.lb-affluenza.lb-alta em { color: #b93a0c; } .lb-affluenza.lb-media em { color: #8a5a00; } .lb-affluenza.lb-bassa em { color: #1f6f44; }
.lb-tacche { display: inline-flex; align-items: flex-end; gap: 3px; flex: 0 0 auto; height: 1.1rem; }
.lb-tacche i { width: 5px; border-radius: 2px; background: var(--lb-bordo); }
.lb-tacche i:nth-child(1) { height: 40%; } .lb-tacche i:nth-child(2) { height: 70%; } .lb-tacche i:nth-child(3) { height: 100%; }
.lb-affluenza.lb-bassa .lb-piena { background: var(--lb-tranquilla); }
.lb-affluenza.lb-media .lb-piena { background: var(--lb-richiesta); }
.lb-affluenza.lb-alta .lb-piena { background: var(--lb-quasi); }
.lb-proposta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem .9rem; }
.lb-proposta > span { display: grid; gap: .15rem; min-width: 0; }
.lb-proposta.lb-presa { background: #eef1f6; }
.lb-salta .lb-affluenza:last-child { border-bottom: 0; }
.lb-salta-scelta { display: flex; gap: .8rem; align-items: flex-start; padding: .8rem .9rem; cursor: pointer; }
.lb-salta-scelta input { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; margin: .1rem 0 0; accent-color: var(--lb-scelto); }
.lb-salta-scelta > span { flex: 1 1 auto; display: grid; gap: .15rem; min-width: 0; }
.lb-salta-scelta b { display: flex; justify-content: space-between; gap: .5rem; font-size: 1.05rem; }

.lb-riepilogo { padding: 1rem; background: var(--lb-fondo); border: 1px solid var(--lb-bordo); border-radius: .6rem; display: grid; gap: .85rem; }
.lb-dove { display: grid; gap: .1rem; }
.lb-dove b { font-size: 1.05rem; }
.lb-riepilogo dl { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: 0; padding-top: .85rem; border-top: 1px solid var(--lb-bordo); font-variant-numeric: tabular-nums; }
.lb-riepilogo dd { margin: 0; text-align: right; }
.lb-riepilogo .lb-totale { display: flex; justify-content: space-between; padding-top: .85rem; border-top: 1px solid var(--lb-bordo); font-weight: 700; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
/* L'aggiunta facoltativa: un riquadro con un altro fondo, dentro il riepilogo ma fuori dall'elenco delle spese. */
.lb-aggiunta { border-radius: .55rem; background: #f1f3f8; overflow: hidden; }
.lb-riepilogo > .lb-affluenza { margin: -1rem -1rem 0; padding: .75rem 1rem; border-bottom: 1px solid var(--lb-bordo); border-radius: .6rem .6rem 0 0; background: #f8f9fc; }
.lb-riepilogo > .lb-dove + dl { }
.lb-aggiunta-scelta { display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; cursor: pointer; }
.lb-aggiunta-scelta > span:first-child { flex: 1 1 auto; display: grid; gap: .1rem; min-width: 0; }
.lb-aggiunta-scelta .lb-quanto { color: var(--lb-tenue); font-variant-numeric: tabular-nums; }
.lb-aggiunta.lb-accesa { background: #e6ebf7; box-shadow: inset 0 0 0 1.5px var(--lb-scelto); }
.lb-aggiunta.lb-accesa .lb-quanto { color: var(--lb-testo); font-weight: 700; }
.lb-avviso { margin-top: .8rem !important; color: var(--lb-avviso); font-weight: 600; }
.lb-compra { width: 100%; min-height: 3.2rem; margin-top: 1rem; background: var(--lb-scelto) !important; color: var(--lb-su-scelto) !important; border: 0; border-radius: .6rem; font-weight: 700 !important; letter-spacing: .02em; }
.lb-compra:disabled { opacity: .45; }

/* Il ritmo della pagina: lo stesso passo fra un blocco e l'altro, uno più stretto dentro i blocchi. */
#lucine-biglietti { --lb-passo: 1.25rem; }
#lucine-biglietti h3 { margin: calc(var(--lb-passo) * 1.3) 0 .6rem; }
#lucine-biglietti .lb-modo-cosa { margin: .7rem 0 var(--lb-passo) !important; }
#lucine-biglietti .lb-scelta-fatta { margin: 0 0 .5rem; }
#lucine-biglietti .lb-gruppo, #lucine-biglietti .lb-salta, #lucine-biglietti .lb-note, #lucine-biglietti .lb-riepilogo, #lucine-biglietti .lb-compra, #lucine-biglietti .lb-avviso { margin-top: var(--lb-passo) !important; }
#lucine-biglietti .lb-tipo:last-of-type { border-bottom: 0; padding-bottom: 0; }

/* I modi di proporre l'ingresso prioritario. */
.lb-proposta.lb-casella { justify-content: flex-start; cursor: pointer; align-items: flex-start; }
.lb-proposta.lb-casella > span { flex: 1 1 auto; }
.lb-proposta input[type="checkbox"]:not(.lb-interruttore) { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; margin: .1rem 0 0; accent-color: var(--lb-scelto); }
.lb-quanto { flex: 0 0 auto; white-space: nowrap; }
.lb-quanto.lb-spento { color: var(--lb-tenue); font-weight: 400; }
label.lb-proposta { cursor: pointer; }
.lb-interruttore { appearance: none; -webkit-appearance: none; flex: 0 0 auto; width: 3.2rem; height: 1.9rem; margin: 0; border-radius: 99px; background: #c3c9d6; position: relative; cursor: pointer; transition: background .15s; }
.lb-interruttore::after { content: ""; position: absolute; top: 3px; left: 3px; width: calc(1.9rem - 6px); height: calc(1.9rem - 6px); border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .15s; }
.lb-interruttore:checked { background: var(--lb-scelto); }
.lb-interruttore:checked::after { transform: translateX(1.3rem); }
.lb-ingressi { display: grid; }
.lb-ingresso { display: flex; align-items: flex-start; gap: .8rem; padding: .75rem .9rem; cursor: pointer; }
.lb-ingresso + .lb-ingresso { border-top: 1px solid var(--lb-bordo); }
.lb-ingresso > span { flex: 1 1 auto; display: grid; gap: .15rem; min-width: 0; }
.lb-ingresso input { flex: 0 0 auto; width: 1.3rem; height: 1.3rem; margin: .15rem 0 0; accent-color: var(--lb-scelto); }
.lb-ingresso.lb-scelto { background: #eef1f6; }
.lb-ingresso .lb-quanto { font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .lb-interruttore, .lb-interruttore::after { transition: none; } }

#lucine-biglietti .lb-note { padding-top: var(--lb-passo); border-top: 1px solid var(--lb-bordo); }
.lb-affluenza em { font-size: 1.05rem; line-height: 1.2; }
.lb-affluenza .lb-quando { font-size: .78rem; letter-spacing: .02em; }
.lb-affluenza { align-items: flex-start; }
.lb-affluenza .lb-tacche { margin-top: 1.15rem; }
.lb-affluenza .lb-previsione { font-size: 1.02rem; font-weight: 700; line-height: 1.25; }
.lb-affluenza .lb-previsione em { font-size: inherit; }
.lb-affluenza .lb-quando { text-transform: uppercase; letter-spacing: .06em; font-size: .7rem; font-weight: 600; }

/* La «i» accanto alla previsione e la spiegazione che apre. */
.lb-affluenza { flex-wrap: wrap; }
.lb-affluenza > span:nth-child(2) { flex: 1 1 0; min-width: 0; }
.lb-affluenza .lb-quando { display: inline-flex; align-items: center; gap: .4rem; }
.lb-affluenza { position: relative; }
#lucine-biglietti .lb-info { position: absolute; top: .55rem; right: .7rem; width: .95rem; height: .95rem; padding: 0; border: 1px solid #a9b0c0; border-radius: 50%; background: none; color: #7a8296; font: italic 600 .62rem/1 Georgia, serif; }
#lucine-biglietti .lb-info::after { content: ""; position: absolute; inset: -.9rem; }
#lucine-biglietti .lb-info[aria-expanded="true"] { border-color: var(--lb-testo); color: var(--lb-testo); }
.lb-affluenza > span:nth-child(2) { padding-right: 1.4rem; }
.lb-info-testo { flex: 1 0 100%; margin-top: .2rem; padding-top: .7rem; border-top: 1px solid var(--lb-bordo); display: grid; gap: .6rem; font-size: .86rem; color: var(--lb-tenue); }
.lb-info-testo ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.lb-info-testo li { display: flex; align-items: center; gap: .6rem; }
.lb-info-testo .lb-tacche { margin-top: 0; height: .9rem; }
.lb-info-testo em { font-style: normal; font-weight: 700; }
.lb-info-testo .lb-bassa em { color: #1f6f44; } .lb-info-testo .lb-media em { color: #8a5a00; } .lb-info-testo .lb-alta em { color: #b93a0c; }
.lb-info-testo .lb-bassa .lb-piena { background: var(--lb-tranquilla); } .lb-info-testo .lb-media .lb-piena { background: var(--lb-richiesta); } .lb-info-testo .lb-alta .lb-piena { background: var(--lb-quasi); }
.lb-affluenza > span:nth-child(2) { display: grid; gap: .1rem; }
.lb-affluenza .lb-info-testo em { font-size: inherit; line-height: inherit; }
.lb-info-testo li { align-items: flex-start; }
.lb-info-testo li .lb-tacche { margin-top: .15rem; }
.lb-info-testo { position: relative; }
.lb-info-testo > p:first-of-type { padding-right: 2rem; }
#lucine-biglietti .lb-chiudi { position: absolute; top: .45rem; right: -.35rem; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--lb-tenue); font-size: 1.35rem; line-height: 1; }

/* L'abito del sito nuovo (blu notte), scelto dal blocco con data-abito="notte". I valori sono quelli della regia. */
#lucine-biglietti[data-abito="notte"] { --lb-testo: #f2f6fc; --lb-tenue: #b4c2da; --lb-bordo: rgb(207 216 230 / .28); --lb-fondo: rgb(242 246 252 / .08); --lb-scelto: #f2f6fc; --lb-su-scelto: #06163a; --lb-avviso: #ff9d8a;
  --lb-tranquilla: #a8e6c1; --lb-richiesta: #ffd27a; --lb-quasi: #ff9d8a; --lb-esaurita: #a9b8d4; font-family: Manrope, system-ui, sans-serif; }
#lucine-biglietti[data-abito="notte"] .lb-modi { background: rgb(242 246 252 / .08); }
#lucine-biglietti[data-abito="notte"] .lb-modi .lb-modo[aria-selected="true"] { background: #f2f6fc; color: #06163a; box-shadow: 0 0 20px rgb(242 246 252 / .38); }
#lucine-biglietti[data-abito="notte"] .lb-modi .lb-modo[aria-selected="true"] small { color: #06163a; }
/* Le forme del sito valgono in tutti e due gli abiti: caselle a 14px, riquadri a 18px. */
#lucine-biglietti .lb-cella, #lucine-biglietti .lb-fascia { border-radius: 14px; }
#lucine-biglietti[data-abito="notte"] .lb-cella[aria-pressed="true"], #lucine-biglietti[data-abito="notte"] .lb-fascia[aria-pressed="true"] { box-shadow: 0 0 20px rgb(242 246 252 / .38); }
#lucine-biglietti[data-abito="notte"] .lb-vuota { color: rgb(207 216 230 / .3); }
#lucine-biglietti .lb-scelta-fatta, #lucine-biglietti .lb-riepilogo, #lucine-biglietti .lb-salta { border-radius: 18px; }
#lucine-biglietti[data-abito="notte"] .lb-scelta-fatta, #lucine-biglietti[data-abito="notte"] .lb-riepilogo, #lucine-biglietti[data-abito="notte"] .lb-salta { border-color: rgb(207 216 230 / .12); }
#lucine-biglietti[data-abito="notte"] .lb-riepilogo > .lb-affluenza { background: rgb(242 246 252 / .05); border-radius: 18px 18px 0 0; }
#lucine-biglietti[data-abito="notte"] .lb-affluenza.lb-alta em, #lucine-biglietti[data-abito="notte"] .lb-info-testo .lb-alta em { color: #ff9d8a; }
#lucine-biglietti[data-abito="notte"] .lb-affluenza.lb-media em, #lucine-biglietti[data-abito="notte"] .lb-info-testo .lb-media em { color: #ffd27a; }
#lucine-biglietti[data-abito="notte"] .lb-affluenza.lb-bassa em, #lucine-biglietti[data-abito="notte"] .lb-info-testo .lb-bassa em { color: #a8e6c1; }
#lucine-biglietti[data-abito="notte"] .lb-tacche i { background: rgb(207 216 230 / .28); }
#lucine-biglietti[data-abito="notte"] .lb-aggiunta { background: rgb(242 246 252 / .08); border-radius: 14px; }
#lucine-biglietti[data-abito="notte"] .lb-aggiunta.lb-accesa { background: rgb(242 246 252 / .14); }
#lucine-biglietti[data-abito="notte"] .lb-interruttore { background: rgb(207 216 230 / .28); }
#lucine-biglietti[data-abito="notte"] .lb-interruttore:checked { background: #f2f6fc; }
#lucine-biglietti[data-abito="notte"] .lb-interruttore:checked::after { background: #06163a; }
#lucine-biglietti[data-abito="notte"] .lb-gruppo { background: rgb(255 233 184 / .07); box-shadow: inset 0 0 0 1px rgb(255 233 184 / .3); color: #ffe9b8; border-radius: 14px; }
#lucine-biglietti[data-abito="notte"] .lb-gruppo.lb-scattato { background: rgb(168 230 193 / .1); box-shadow: inset 0 0 0 1px rgb(168 230 193 / .35); color: #a8e6c1; }
#lucine-biglietti[data-abito="notte"] .lb-gruppo.lb-scattato small { color: #a8e6c1; }
#lucine-biglietti[data-abito="notte"] .lb-compra { border-radius: 99px; min-height: 3.3rem; }
#lucine-biglietti[data-abito="notte"] .lb-info { border-color: #93a7c8; color: #93a7c8; }
#lucine-biglietti[data-abito="notte"] .lb-ingresso.lb-scelto, #lucine-biglietti[data-abito="notte"] .lb-proposta.lb-presa { background: rgb(242 246 252 / .12); }
#lucine-biglietti[data-abito="notte"] button:focus-visible, #lucine-biglietti[data-abito="notte"] input:focus-visible { outline-color: #ffe9b8; }
#lucine-biglietti[data-abito="notte"] + .lb-fiducia { border-top-color: rgb(207 216 230 / .28); color: #b4c2da; font-family: Manrope, system-ui, sans-serif; }
#lucine-biglietti[data-abito="notte"] + .lb-fiducia b { color: #f2f6fc; }
#lucine-biglietti[data-abito="notte"] + .lb-fiducia .lb-stelle { color: #ffe9b8; }

/* L'abito chiaro allineato al sito nuovo (deciso da Bruno il 10/10: chiaro, ma con le forme, i colori e i caratteri del sito). */
#lucine-biglietti { --lb-testo: #06163a; --lb-tenue: #41557a; --lb-nota: #6b7c9c; --lb-bordo: rgb(6 22 58 / .28); --lb-riquadro: rgb(6 22 58 / .12); --lb-fondo: #fff; --lb-scelto: #06163a; --lb-su-scelto: #f2f6fc; --lb-avviso: #c0362c;
  --lb-tranquilla: #1d7a4a; --lb-richiesta: #a66a00; --lb-quasi: #c0362c; --lb-esaurita: #6b7c9c; font-family: Manrope, system-ui, sans-serif; }
#lucine-biglietti .lb-modi { background: rgb(6 22 58 / .07); }
#lucine-biglietti .lb-modi .lb-modo[aria-selected="true"] { background: #06163a; color: #f2f6fc; box-shadow: none; }
#lucine-biglietti .lb-modi .lb-modo[aria-selected="true"] small { color: #f2f6fc; }
#lucine-biglietti .lb-cella, #lucine-biglietti .lb-fascia { border-radius: 14px; }
#lucine-biglietti .lb-scelta-fatta, #lucine-biglietti .lb-riepilogo, #lucine-biglietti .lb-salta { border-radius: 18px; border-color: var(--lb-riquadro); }
#lucine-biglietti .lb-riepilogo > .lb-affluenza { background: rgb(6 22 58 / .03); border-radius: 18px 18px 0 0; border-bottom-color: var(--lb-riquadro); }
#lucine-biglietti .lb-riepilogo dl, #lucine-biglietti .lb-riepilogo .lb-totale, #lucine-biglietti .lb-tipo, #lucine-biglietti .lb-note { border-color: var(--lb-riquadro); }
#lucine-biglietti .lb-affluenza.lb-alta em, #lucine-biglietti .lb-info-testo .lb-alta em { color: #c0362c; }
#lucine-biglietti .lb-affluenza.lb-media em, #lucine-biglietti .lb-info-testo .lb-media em { color: #a66a00; }
#lucine-biglietti .lb-affluenza.lb-bassa em, #lucine-biglietti .lb-info-testo .lb-bassa em { color: #1d7a4a; }
#lucine-biglietti .lb-tacche i { background: rgb(6 22 58 / .16); }
#lucine-biglietti .lb-aggiunta { background: rgb(6 22 58 / .05); border-radius: 14px; }
#lucine-biglietti .lb-aggiunta.lb-accesa { background: rgb(6 22 58 / .08); }
#lucine-biglietti .lb-interruttore { background: rgb(6 22 58 / .28); }
#lucine-biglietti .lb-interruttore:checked { background: #06163a; }
#lucine-biglietti .lb-gruppo { background: rgb(166 106 0 / .09); color: #a66a00; border-radius: 14px; }
#lucine-biglietti .lb-gruppo.lb-scattato { background: rgb(29 122 74 / .09); color: #1d7a4a; }
#lucine-biglietti .lb-gruppo.lb-scattato small { color: #1d7a4a; }
#lucine-biglietti .lb-compra { border-radius: 99px; min-height: 54px; }
#lucine-biglietti .lb-note, #lucine-biglietti .lb-dopo, #lucine-biglietti .lb-legenda { color: var(--lb-nota); }
#lucine-biglietti .lb-info { border-color: var(--lb-nota); color: var(--lb-nota); }
.lb-fiducia { border-top-color: rgb(6 22 58 / .12); color: #6b7c9c; font-family: Manrope, system-ui, sans-serif; }
.lb-fiducia b { color: #06163a; }
.lb-fiducia .lb-stelle { color: #a66a00; }
/* Le tacche piene prendono il colore dello stato, in tutti e due gli abiti. */
#lucine-biglietti .lb-affluenza.lb-bassa > .lb-tacche .lb-piena, #lucine-biglietti .lb-info-testo .lb-bassa .lb-piena { background: var(--lb-tranquilla); }
#lucine-biglietti .lb-affluenza.lb-media > .lb-tacche .lb-piena, #lucine-biglietti .lb-info-testo .lb-media .lb-piena { background: var(--lb-richiesta); }
#lucine-biglietti .lb-affluenza.lb-alta > .lb-tacche .lb-piena, #lucine-biglietti .lb-info-testo .lb-alta .lb-piena { background: var(--lb-quasi); }
#lucine-biglietti[data-abito="notte"] .lb-affluenza.lb-bassa > .lb-tacche .lb-piena, #lucine-biglietti[data-abito="notte"] .lb-info-testo .lb-bassa .lb-piena { background: var(--lb-tranquilla); }
#lucine-biglietti[data-abito="notte"] .lb-affluenza.lb-media > .lb-tacche .lb-piena, #lucine-biglietti[data-abito="notte"] .lb-info-testo .lb-media .lb-piena { background: var(--lb-richiesta); }
#lucine-biglietti[data-abito="notte"] .lb-affluenza.lb-alta > .lb-tacche .lb-piena, #lucine-biglietti[data-abito="notte"] .lb-info-testo .lb-alta .lb-piena { background: var(--lb-quasi); }

/* Da computer: due colonne dentro 1.120 punti. A sinistra le scelte, a destra il riepilogo che resta fermo. */
#lucine-biglietti.lb-largo { max-width: 1120px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 56px; align-items: start; }
#lucine-biglietti.lb-largo .lb-sx { min-width: 0; max-width: 40rem; }
#lucine-biglietti.lb-largo .lb-dx { position: sticky; top: 24px; }
#lucine-biglietti.lb-largo .lb-sx > :first-child, #lucine-biglietti.lb-largo .lb-dx > :first-child { margin-top: 0 !important; }
#lucine-biglietti.lb-largo .lb-modi { max-width: 26rem; }
#lucine-biglietti.lb-largo .lb-calendario { gap: .4rem; }
#lucine-biglietti.lb-largo .lb-cella { min-height: 3.6rem; }
#lucine-biglietti.lb-largo .lb-fasce { grid-template-columns: repeat(5, minmax(0, 1fr)); }
#lucine-biglietti.lb-largo .lb-note { margin-top: 2rem !important; }
#lucine-biglietti .lb-attesa-scelta dt { color: var(--lb-tenue); }
#lucine-biglietti .lb-attesa-scelta .lb-manca { color: var(--lb-nota, var(--lb-tenue)); font-style: italic; }
#lucine-biglietti .lb-attesa-scelta .lb-totale { color: var(--lb-tenue); }
@media (min-width: 900px) { .lb-fiducia { max-width: 1120px; } }

/* Sul telefono le due pillole in cima non vanno mai a capo a metà: nome sopra, prezzo sotto. */
#lucine-biglietti .lb-modo b, #lucine-biglietti .lb-modo small { white-space: nowrap; }
@media (max-width: 480px) {
  #lucine-biglietti .lb-modi .lb-modo { flex-direction: column; gap: .05rem; padding: .45rem .4rem; min-height: 3.2rem; }
  #lucine-biglietti .lb-modi .lb-modo b { font-size: .98rem; }
}
/* L'etichetta del mese sta nell'angolo e non tocca il numero. */
#lucine-biglietti .lb-calendario button small { line-height: 1; }

/* Un mese per volta, col suo titolo. */
#lucine-biglietti .lb-mese + .lb-mese { margin-top: 1.1rem; }
#lucine-biglietti .lb-mese h4 { margin: 0 0 .45rem; font: 700 1rem/1.2 Manrope, system-ui, sans-serif; color: var(--lb-testo); }
/* Ciò che l'Open ha in più: una fascia d'oro, come sul biglietto. */
#lucine-biglietti .lb-incluso { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .2rem .8rem; margin: -.4rem 0 1.1rem !important; padding: .7rem .95rem; border-radius: 14px; background: linear-gradient(90deg, #f4b63f, #ffd98a 55%, #f4b63f); color: #06163a; }
#lucine-biglietti .lb-incluso b { font-size: .95rem; letter-spacing: .03em; text-transform: uppercase; }
#lucine-biglietti .lb-incluso span { font-size: .92rem; font-weight: 700; color: #06163a; }

/* Quanti siete: ogni tipo di biglietto è una scheda bianca, col nome e il prezzo in evidenza e i pulsanti pieni.
   Quando ne hai scelto almeno uno, la scheda prende il bordo scuro: si vede subito cosa stai comprando. */
#lucine-biglietti .lb-tipo { padding: .85rem 1rem .9rem; margin: 0 0 .6rem; background: #fff; border: 1.5px solid var(--lb-riquadro); border-radius: 18px; }
#lucine-biglietti .lb-tipo:last-of-type { padding-bottom: .9rem; border: 1.5px solid var(--lb-riquadro); }
#lucine-biglietti .lb-tipo:has(output:not([data-zero])) { border-color: #06163a; box-shadow: 0 2px 10px rgb(6 22 58 / .08); }
#lucine-biglietti .lb-tipo .lb-riga > b { display: grid; gap: .1rem; font-size: 1.12rem; line-height: 1.15; }
#lucine-biglietti .lb-tipo .lb-prezzo { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lb-nota, #6b7c9c); }
#lucine-biglietti .lb-tipo .lb-per-chi { margin-top: .45rem; }
#lucine-biglietti .lb-quanti { gap: .15rem; padding: .2rem; background: #eef2f9; border-radius: 99px; }
#lucine-biglietti .lb-quanti button { width: 2.6rem; height: 2.6rem; font-size: 1.35rem; font-weight: 700; line-height: 1; color: #fff; background: #06163a; border: 0; border-radius: 50%; }
#lucine-biglietti .lb-quanti button:first-child { color: #06163a; background: #fff; box-shadow: inset 0 0 0 1px var(--lb-riquadro); }
#lucine-biglietti .lb-quanti button:disabled { opacity: .35; }
#lucine-biglietti .lb-quanti output { min-width: 2.2rem; font-size: 1.25rem; }

/* Bruno, 2/11: il calendario staccato dal titolo del mese. */
#lucine-biglietti .lb-mese { margin-top: 1.4rem; }
#lucine-biglietti .lb-mese h4 { margin: 0 0 .9rem; }
/* Da computer la data scelta è una pill come la fascia scelta, accanto a «Cambia data». Il telefono resta com'era. */
#lucine-biglietti .lb-pill-riga { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .5rem; padding: 0; background: none; border: 0; border-radius: 0; }
#lucine-biglietti .lb-pill-scelta { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1.1rem; background: var(--lb-scelto); color: var(--lb-su-scelto); border-radius: 14px; }
#lucine-biglietti .lb-pill-scelta b { font-size: 1rem; }
#lucine-biglietti .lb-pill-riga .lb-cambia { min-width: 0; background: #fff; border-radius: 14px; border-color: var(--lb-bordo); }
/* Il testo sotto il biglietto: la frase sull'arrivo in un capoverso suo. */
#lucine-biglietti .lb-modo-cosa { white-space: pre-line; }
/* Una nota scritta come frase intera: niente punto dopo il titolo. */
#lucine-biglietti .lb-note b.lb-senza-punto::after { content: none; }

/* dopo l'aggiunta, la frase che dice cosa è entrato nel carrello (4/11) */
#lucine-biglietti .lb-aggiunto { margin: var(--lb-passo, 1rem) 0 0 !important; padding: .7rem .9rem; border-radius: 12px; background: #e8f5ee; color: #1f6f44; font-weight: 700; text-align: center; }

/* La «i» accanto al nome nei riquadri (Intero, Ridotto, Open, SaltaFila) e il testo che apre (Bruno, 5/11 13:13). */
#lucine-biglietti .lb-info.lb-info-riga { position: relative; top: auto; right: auto; display: inline-grid; place-items: center; width: 1.3rem; height: 1.3rem; margin: 0 .35rem 0 .45rem; vertical-align: .12em; font-size: .75rem; cursor: pointer; }
#lucine-biglietti .lb-info.lb-info-riga[aria-expanded="true"] { background: #06163a; color: #f2f6fc; border-color: #06163a; }
.lb-spiega { margin: .55rem 0 0 !important; padding: .6rem .8rem; border-radius: 12px; background: rgb(6 22 58 / .06); font-size: .9rem; line-height: 1.4; color: var(--lb-testo); }
#lucine-biglietti .lb-nome { display: inline-flex; align-items: center; }
