/*	==================================================================================================
	Tema "Fdo" per la pagina "Scegli i biglietti" — SOLO modalità POSTI LIBERI.

	Ri-skinna il markup esistente (classi legacy .PostoLibero/.Fascia/.Tariffa/.Totale/#TotaleCarrello/
	.ButtonProceed/#ReqCoupon) SENZA toccarne struttura, id, name, data-cart e hook JS: le regole sono
	tutte scoped sotto .FdoPage (aggiunta al <body> solo per i posti liberi), quindi non toccano la
	modalità "posti in pianta" (che resta su evento_scelta_posti.css) né il resto del sito.
	Le variabili (--color-*, --space-*, --radius, --font-display, --gradient-heading) vengono da
	variables.css/global.css, caricati ovunque. Caricare DOPO evento_scelta_posti.css.
	================================================================================================== */

/*	Contenitore centrato come una FdoSection (sfondo blu dal <body class="FdoPage">) */
	.FdoPage .Container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: var(--space-7) var(--space-4); background: transparent; }
	@media (min-width: 1025px) { .FdoPage .Container { padding: var(--space-9) var(--space-6); } }
	.FdoPage .PostoLibero { width: 100%; }

/*	------------------------------ Testata evento ------------------------------ */
	.FdoPage .Container .EventInfo { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); text-align: center; margin: 0; }

	.FdoPage .Container .PageTitle { margin: 0 0 1rem; font-family: var(--font-display); font-size: clamp(32px, 6vw, var(--text-h2-size)); line-height: 1.14; font-weight: var(--text-h2-weight); color: #d89958; background: var(--gradient-heading); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding-bottom: .1em; }

	/*	"Salerno 2026" leggermente più grande; sottotitolo/data/luogo stesso font (bianchi). */
	.FdoPage .Container .EventTitle { margin: 0; font-family: var(--font-display); font-size: clamp(1.4rem, 5vw, 30px); line-height: 1.3; font-weight: 400; color: var(--color-h3); }
	.FdoPage .Container .EventSubTitle,
	.FdoPage .Container .EventDates,
	.FdoPage .Container .EventLocation { margin: 0; font-family: var(--font-display); font-size: clamp(calc(1.125rem - 0.3rem), 4.2vw, calc(var(--text-h3-size) - 0.3rem)); line-height: 1.3; font-weight: 400; color: #ffffff; }

/*	------------------------------ Coupon (label sopra, input + Applica in riga) ------------------------------ */
	.FdoPage .Container .EventInfo #ReqCoupon { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); width: auto; margin: var(--space-6) auto 0; padding: 0; border: none; background: none; text-align: left; }
	.FdoPage .Container .EventInfo #ReqCoupon SPAN { flex: 0 0 100%; margin: 0; padding: 0; color: var(--color-body); font-weight: 600; }
	.FdoPage .Container .EventInfo #ReqCoupon #CouponCode { height: 44px; box-sizing: border-box; min-width: 220px; margin: 0; padding: 0 var(--space-3); border: 1px solid #ffffff33; border-radius: var(--radius); background-color: #ffffff14; color: var(--color-body); font-size: var(--text-body-size); }
	.FdoPage .Container .EventInfo #ReqCoupon #CouponCode::placeholder { color: #ffffff80; }
	.FdoPage .Container .EventInfo #ReqCoupon BUTTON { display: inline-flex; align-items: center; justify-content: center; height: 44px; margin: 0; padding: 0 var(--space-5); border: none; border-radius: var(--radius); background-color: var(--color-button-secondary-bg); color: var(--color-button-secondary-text); font-family: var(--font-body); font-size: var(--text-body-size); font-weight: 600; cursor: pointer; }
	.FdoPage .Container .EventInfo #ReqCoupon BUTTON:hover { background-color: var(--color-button-secondary-bg-hover); }

/*	------------------------------ Tabella tariffe (card + griglia) ------------------------------ */
	.FdoPage .Container .PostoLibero #Selector { margin: 0; }
	.FdoPage .Container .PostoLibero #Selector .Fascia { display: block; width: 100%; margin: var(--space-6) auto 0; border: 1px solid #ffffff26; border-radius: var(--radius); background-color: #ffffff0f; overflow: hidden; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .NomeFascia { margin: 0; padding: var(--space-4) var(--space-5) 0; font-family: var(--font-display); font-size: var(--text-h3-size); color: var(--color-h3); }

	/*	Righe come griglia a 5 colonne (settore, tariffa, prezzo, quantità, totale) */
	/*	height/line-height: reset del vincolo legacy (evento_scelta_posti.css impone height:54px e
		line-height:54px, che schiaccia la riga e fa sforare il <select> di 42px sotto il bordo).
		Con altezza auto + padding verticale simmetrico la riga prende l'altezza del dropdown e il
		contenuto resta centrato verticalmente (align-items:center). */
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 2.6fr) minmax(80px, 1fr) minmax(96px, 1fr) minmax(80px, 1fr); align-items: center; gap: var(--space-3); width: auto; height: auto; min-height: 0; line-height: var(--text-body-line); margin: 0; padding: var(--space-3) var(--space-4); border: none; border-bottom: 1px solid #ffffff14; background: none; }
	/*	Il box .Fascia ha già un suo padding interno (18px, legacy): la prima e l'ultima riga non
		devono aggiungere padding verticale verso i bordi del box, altrimenti lo spazio raddoppia. */
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa.Head { border-bottom: 1px solid #ffffff26; padding-top: 0; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa:last-child { border-bottom: none; padding-bottom: 0; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa.Head SPAN { font-size: var(--text-caption-size); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--color-h3); }

	/*	Celle: colore/allineamento/dimensione uniformi */
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa SPAN { font-size: var(--text-body-size); line-height: var(--text-body-line); font-weight: 400; color: var(--color-body); }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .NomeSettore { text-align: left; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .NomeSettore I { display: none; }   /* niente pallino colore */
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .NomeTariffa { text-align: left; }
	/*	padding:0 azzera un padding-right legacy di 54px (evento_scelta_posti.css) che spingeva il
		contenuto a sinistra del centro colonna: senza, il Prezzo non era centrato come Quantità. */
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Prezzo { text-align: center; color: #ffffff; white-space: nowrap; padding: 0; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Quantita { text-align: center; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Totale { text-align: right; color: #ffffff; white-space: nowrap; }
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Totale B { font-weight: 400; }

	/*	Dropdown quantità: freccia custom come background-image del select (staccata dal bordo),
		nessuna modifica al markup. */
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Quantita SELECT {
		appearance: none; -webkit-appearance: none; -moz-appearance: none;
		height: 42px; min-width: 84px; margin: 0; padding: 0 38px 0 14px;
		border: 1px solid #ffffff40; border-radius: var(--radius);
		background-color: #06356a; color: var(--color-body); font-size: var(--text-body-size); cursor: pointer;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23ffeaf3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		background-repeat: no-repeat; background-position: right 14px center; background-size: 11px;
	}
	.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Quantita SELECT:focus { outline: none; border-color: var(--color-h3); }

/*	I <br> legacy tra tabella tariffe, note e totale sono spaziatori arbitrari (non fanno parte
	del design): li neutralizzo così la distanza fra i box è governata solo dai margini qui sotto. */
	.FdoPage .Container .PostoLibero > br { display: none; }

/*	------------------------------ Note ------------------------------ */
	.FdoPage .Container .PostoLibero .noteRiduzioni { width: 100%; margin: var(--space-6) auto 0; padding: var(--space-4) var(--space-5); border: 1px solid #ffffff26; border-radius: var(--radius); background-color: #ffffff0f; color: var(--color-body); opacity: .9; font-size: var(--text-body-size); line-height: 1.6; text-align: left; }
/*	STRONG oltre a B: il testo non è più cablato nel template (dove era scritto con <b>) ma arriva da
	eventi.note_acquisto, scritto con l'editor del backend, che produce <strong>. Senza questa aggiunta
	le parole evidenziate perderebbero il colore. I margini del <p> generato dall'editor vanno azzerati,
	altrimenti si sommano al padding del riquadro. */
	.FdoPage .Container .PostoLibero .noteRiduzioni B,
	.FdoPage .Container .PostoLibero .noteRiduzioni STRONG { color: var(--color-h3); opacity: 1; font-weight: 700; }
	.FdoPage .Container .PostoLibero .noteRiduzioni P { margin: 0; }
	.FdoPage .Container .PostoLibero .noteRiduzioni P + P { margin-top: var(--space-2); }

/*	------------------------------ Totale nel carrello ------------------------------ */
	.FdoPage .Container .PostoLibero .Totali { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-4); width: 100%; margin: var(--space-6) auto 0; padding: var(--space-4) var(--space-5); border: 1px solid #ffffff26; border-radius: var(--radius); background-color: #ffffff0f; }
	/*	Tutta la riga "Totale nel carrello" NON in grassetto (font display, peso normale). */
	.FdoPage .Container .PostoLibero .Totali H3 { margin: 0; font-family: var(--font-display); font-size: var(--text-h3-size); font-weight: 400; color: var(--color-body); }
	.FdoPage .Container .PostoLibero .Totali .FdoBuyCartSummary { display: flex; align-items: baseline; gap: 3rem; font-family: var(--font-display); font-size: var(--text-h3-size); font-weight: 400; color: var(--color-body); }
	.FdoPage .Container .PostoLibero .Totali #TotaleCarrello { margin: 0; padding: 0; background: none; color: var(--color-body); font-family: var(--font-display); font-size: var(--text-h3-size); font-weight: 400; }
	.FdoPage .Container .PostoLibero .Totali #TotaleCarrello B,
	.FdoPage .Container .PostoLibero .Totali .FdoBuyCartSummary B { font-weight: 400; }

/*	------------------------------ Pulsante "Continua con l'acquisto" (fuori dalla riga totale, a destra) ------------------------------ */
	/*	display:flex (non inline-flex) + width:fit-content + margin-left:auto = pulsante allineato a
		destra nel flusso a blocco. height:auto azzera l'altezza legacy che lo rendeva troppo alto. */
	.FdoPage .Container .PostoLibero .ButtonProceed { display: flex; align-items: center; justify-content: center; width: fit-content; height: auto; min-height: 46px; float: none; margin: var(--space-6) 0 0 auto; padding: 12px 34px; border: none; border-radius: var(--radius); background-color: var(--color-button-primary-bg); color: var(--color-button-primary-text); font-family: var(--font-body); font-size: var(--text-body-size); line-height: 1.2; font-weight: 600; cursor: pointer; }
	.FdoPage .Container .PostoLibero .ButtonProceed:hover { filter: brightness(1.08); transform: translateY(-1px); }

/*	------------------------------ MOBILE/TABLET: ogni tariffa è una CARD ------------------------------
	Fino a 1024px la griglia a 5 colonne si stringerebbe al punto che il <select> Quantità sfora sulla
	colonna Totale. Il breakpoint 1025px è lo stesso usato altrove nel tema Fdo per lo switch
	mobile↔desktop.

	⚠️ Su questa pagina si caricano DUE CSS e il legacy (evento_scelta_posti.css) viene PRIMA: nel suo
	@media (max-width:440px) lascia appese agli <span> della riga tariffa alcune proprietà (Quantità in
	position:absolute, padding-left, larghezze fisse 6rem/8rem). La versione precedente di questo blocco
	non le azzerava, quindi sotto i 440px i due layout si sovrapponevano e la scheda si rompeva
	(Quantità sopra al Totale, voci rientrate). Da qui il reset esplicito sugli SPAN qui sotto.
	Il legacy NON va toccato: è condiviso con altre pagine. */
	@media (max-width: 1024px) {

	/*	Riepilogo tariffe (posto libero) su mobile: ogni tariffa diventa una CARD autonoma
			[ nome tariffa            (select quantità) ]
			[ prezzo                                     ]
			------------------------------------------- (linea)
			[ TOTALE                        € valore     ]
		Markup invariato: si riordinano i 5 <span> con una griglia ad aree. */

	/*	padding:0 azzera il "padding:1rem" che .Fascia eredita dal legacy: rientrava le card, che
		risultavano più strette del box note e del box "Totale nel carrello". Solo su mobile —
		su desktop quel padding serve ancora (vedi il commento alle regole base). */
		.FdoPage .Container .PostoLibero #Selector .Fascia { border: none; background: none; border-radius: 0; overflow: visible; padding: 0; }
		.FdoPage .Container .PostoLibero #Selector .Fascia .NomeFascia { padding: 0 0 var(--space-2); }
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa.Head { display: none; }

		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa {
			display: grid;
			grid-template-columns: 1fr auto;
			grid-template-areas:
				"name  qty"
				"price qty"
				"total total";
			align-items: center;
			column-gap: var(--space-4);
			row-gap: 4px;
			width: auto;
			margin: 0 0 var(--space-4);
			padding: var(--space-4) var(--space-5);
			border: 1px solid #ffffff26;
			border-radius: 12px;
			background-color: #ffffff0f;
		}
	/*	padding-bottom ripristinato: la regola base desktop ".Tariffa:last-child { padding-bottom:0 }"
		resta attiva anche qui e lasciava l'ultima card senza spazio sotto la riga TOTALE. */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa:last-child { margin-bottom: 0; padding-bottom: var(--space-4); }

	/*	Reset dei residui del CSS legacy sugli span */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa SPAN {
			position: static; right: auto; bottom: auto; top: auto; left: auto;
			width: auto; padding: 0; margin: 0;
		}

	/*	Settore nascosto (come nel design approvato).
		Se servisse per eventi con più settori, rimuovere questa riga o trasformarlo in eyebrow. */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .NomeSettore { display: none; }

	/*	Nome tariffa: titolo in alto a sinistra */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .NomeTariffa {
			grid-area: name; display: block; text-align: left;
			font-size: 18px; line-height: 24px; font-weight: 600; color: #fff;
		}
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .NomeTariffa::before { content: none; }

	/*	Prezzo: sotto il nome */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Prezzo {
			grid-area: price; display: block; text-align: left; white-space: nowrap;
			color: var(--color-body); font-size: var(--text-body-size); line-height: var(--text-body-line);
		}
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Prezzo::before { content: none; }

	/*	Quantità: select a destra, centrato verticalmente sul blocco nome+prezzo */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Quantita {
			grid-area: qty; display: flex; justify-content: flex-end; align-self: center;
		}
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Quantita::before { content: none; }

	/*	Totale: etichetta a sinistra (float), valore inline a destra così "€ 0,00" resta unito, sotto una linea */
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Totale {
			grid-area: total; display: block; text-align: right; white-space: nowrap;
			margin-top: var(--space-3); padding-top: var(--space-3);
			border-top: 1px solid #ffffff26;
			color: #fff; line-height: 24px;
		}
		.FdoPage .Container .PostoLibero #Selector .Fascia .Tariffa .Totale::before {
			content: "Totale"; float: left; line-height: 24px;
			color: var(--color-h3); font-size: var(--text-caption-size);
			text-transform: uppercase; letter-spacing: .04em; font-weight: 700;
		}

	/*	--- invariate rispetto a prima --- */
		.FdoPage .Container .PostoLibero .Totali { flex-direction: column; align-items: stretch; text-align: center; gap: var(--space-2); }
		.FdoPage .Container .PostoLibero .Totali .FdoBuyCartSummary { justify-content: center; }
		.FdoPage .Container .PostoLibero .ButtonProceed { width: 100%; margin-left: 0; }
	}
