/*
	CLAUDE 2026-10-27: velorama su v115c - correzioni grafiche lato sito (il core non si tocca), in ANTEPRIMA sul test:
	si attiva con ?anteprima=1 (cookie velo_anteprima, solo /php8test/), si spegne con ?anteprima=0.
	Il tema Flatastic usa Bootstrap 3; carrello e checkout della v115c usano classi di Bootstrap 4/5
	(d-flex, me-auto, form-check-input) che qui non esistono: le emulo solo dove servono.
*/

/* ===== PAGAMENTO: un solo pallino (quello del tema), riga intera cliccabile, scelta evidenziata ===== */
.list-group-item > input.TipoPagamento {
	position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important;
	margin: 0 !important; pointer-events: none;
}
.list-group-item > label.radio { cursor: pointer; margin: 0; display: block; }
.list-group-item:has(> input.TipoPagamento:checked) { border-color: #6aaf5f; background: #f3faf1; }
.list-group-item.disabled > label.radio { cursor: not-allowed; }

/* ===== CONDIZIONI DI VENDITA: niente tasto "Leggi" (il link apre la stessa finestra), link allineato al testo ===== */
.page_content_offset [class*="col-"]:has(#condizioni) p.introduzione > button[data-toggle="modal"] { display: none !important; }
.page_content_offset label:has(> #condizioni) { display: block; margin-top: 6px; }
.page_content_offset label:has(> #condizioni) > input#condizioni { vertical-align: middle; margin: 0 8px 3px 0; width: 18px; height: 18px; }
.page_content_offset label:has(> #condizioni) > a { vertical-align: baseline !important; }

/* ===== RICERCA: riga cliccabile e prezzo finale in evidenza (tutte le larghezze) ===== */
#Tabella_ElencoProdotti tr.pl-cliccabile { cursor: pointer; }
#Tabella_ElencoProdotti tr.pl-cliccabile:hover td { background: #f6faf5; }
#Tabella_ElencoProdotti td[data-title="Importo unitario"] .scheme_color { font-size: 19px; font-weight: 700; }
#Tabella_ElencoProdotti td[data-title="Listino"] { color: #8a8a8a; } /* CLAUDE 2026-10-30: niente barrato sul listino (richiesta di Thomas) */
#Tabella_ElencoProdotti td[data-title="Sconto da listino"] { white-space: nowrap; }
#Tabella_ElencoProdotti td[data-title="Sconto da listino"] .pl-sconto {
	display: inline-block; padding: 2px 7px; border-radius: 10px; background: #e8f5e5; color: #3f8a33; font-weight: 600; font-size: 13px;
}
#Tabella_ElencoProdotti .pl-vuota { display: none !important; }

@media (max-width: 767px) {

	/* ===== CARRELLO su telefono ===== */
	.page_content_offset [class*="col-"]:has(table.table-condensed .RowProdottoCarrello) { padding-left: 6px; padding-right: 6px; }
	.page_content_offset table.table-condensed,
	.page_content_offset table.table-condensed > tbody,
	.page_content_offset table.table-condensed > thead { display: block !important; width: 100% !important; max-width: 100%; }
	.page_content_offset table.table-condensed tr.RowP.d-md-none,
	.page_content_offset table.table-condensed tr.RowP.d-md-none > td { display: block !important; width: 100% !important; }
	.page_content_offset table.table-condensed tr.RowP.d-md-none > td { padding: 12px 0 !important; border-top: 1px solid #e5e5e5; }
	.RowProdottoCarrello { margin: 0 !important; }
	.RowProdottoCarrello > [class*="col-"] { padding: 0 !important; float: none; width: 100%; }
	.RowProdottoCarrello h4 { font-size: 15px; line-height: 1.35; margin: 0 0 4px; word-break: break-word; }
	.RowProdottoCarrello h4 a { white-space: normal; }
	tr.RowP.d-md-none .d-flex { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
	tr.RowP.d-md-none .d-flex > div { width: auto !important; }
	tr.RowP.d-md-none .me-auto { margin-right: auto; }
	tr.RowP.d-md-none .me-auto > a { margin-left: 8px; font-size: 12px; }
	tr.RowP.d-md-none .d-flex h5 { margin: 0; font-size: 16px; font-weight: 700; white-space: nowrap; }


	/* righe PFU / IVA / totale: sfondo e bordo sulla riga intera, etichetta a sinistra, importo a destra */
	.page_content_offset table.table-condensed tr.rigaServizi,
	.page_content_offset table.table-condensed tr.rigaTotale { display: flex !important; width: 100%; align-items: center; border-top: 1px solid #e5e5e5; }
	.page_content_offset table.table-condensed tr.rigaTotale { background: #dff0d8; }
	.page_content_offset table.table-condensed tr.rigaServizi > td,
	.page_content_offset table.table-condensed tr.rigaTotale > td { display: block; padding: 9px 8px !important; border: 0 !important; background: transparent !important; }
	.page_content_offset table.table-condensed tr.rigaServizi > td:first-child,
	.page_content_offset table.table-condensed tr.rigaTotale > td:first-child { flex: 1 1 auto; white-space: normal !important; min-width: 0; }
	.page_content_offset table.table-condensed tr.rigaServizi > td:not(:first-child),
	.page_content_offset table.table-condensed tr.rigaTotale > td:not(:first-child) { flex: 0 0 auto; text-align: right; white-space: nowrap; }
	.page_content_offset table.table-condensed tr.rigaServizi h4 { font-size: 14px; margin: 0; }
	.page_content_offset table.table-condensed tr.rigaTotale h3 { font-size: 17px; margin: 0; font-weight: 700; }
	.page_content_offset table.table-condensed tr.rigaTotale h3 small { display: block; font-size: 11px; }
	.page_content_offset table.table-condensed td.pl-vuota { display: none !important; }

	/* dati del cliente: niente rientri annidati, campi a tutta larghezza, CAP/città/prov. e dati fiscali due per riga */
	.page_content_offset [class*="col-"]:has(> form .blocchiRegistrazione),
	.page_content_offset [class*="col-"]:has(> div > form .blocchiRegistrazione) { padding-left: 0 !important; padding-right: 0 !important; }
	.page_content_offset form:has(.blocchiRegistrazione) .row { margin-left: -4px !important; margin-right: -4px !important; }
	.page_content_offset form:has(.blocchiRegistrazione) [class*="col-"] { padding-left: 4px !important; padding-right: 4px !important; }
	.page_content_offset form:has(.blocchiRegistrazione) .form-control { height: 40px; width: 100% !important; font-size: 15px; }
	.page_content_offset form:has(.blocchiRegistrazione) label { margin: 8px 0 3px; font-size: 14px; }
	.page_content_offset .AddressBlock1 > .col-xs-3:has([name=cap]) { width: 30% !important; }
	.page_content_offset .AddressBlock1 > .col-xs-5:has([name=citta]) { width: 70% !important; }
	.page_content_offset .AddressBlock1 > .col-xs-4:has([name=provincia]) { width: 100% !important; }
	.page_content_offset .dati_fattura { display: flex !important; flex-wrap: wrap; }
	.page_content_offset .dati_fattura > [class*="col-"] { width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important; float: none; }

	/* ===== RICERCA su telefono: miniatura a sinistra, testo al centro, colonna prezzi fissa a destra ===== */
	.page_content_offset [class*="col-"]:has(> div > #Tabella_ElencoProdotti) { padding-left: 4px; padding-right: 4px; }
	#Tabella_ElencoProdotti { box-shadow: none !important; }
	#Tabella_ElencoProdotti tr:first-child:has(th) { display: none !important; }
	#Tabella_ElencoProdotti tr.pl-prodotto {
		display: grid !important;
		grid-template-columns: 64px minmax(0, 1fr) 104px;
		grid-template-areas: "img marca prezzo" "img nome sconto" "img nome listino" "img nome disp";
		grid-template-rows: auto auto auto 1fr;
		column-gap: 10px; row-gap: 2px; align-items: start;
		padding: 12px 10px !important; border-bottom: 1px solid #e3e3e3; background: #fff;
	}
	#Tabella_ElencoProdotti tr.pl-prodotto > td { display: block !important; padding: 0 !important; border: 0 !important; text-align: left !important; width: auto !important; }
	#Tabella_ElencoProdotti tr.pl-prodotto > td::before,
	#Tabella_ElencoProdotti tr.pl-prodotto > td::after { display: none !important; content: none !important; }
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Immagine"] { grid-area: img; align-self: center; }
	#Tabella_ElencoProdotti td[data-title="Immagine"] > div { width: 64px !important; height: 64px !important; display: flex; align-items: center; justify-content: center; }
	#Tabella_ElencoProdotti td[data-title="Immagine"] img { max-width: 64px !important; max-height: 64px !important; width: auto !important; height: auto !important; object-fit: contain; }
	#Tabella_ElencoProdotti td[data-title="Produttore"] { grid-area: marca; font-size: 12px; color: #777; line-height: 1.3; word-break: break-word; }
	#Tabella_ElencoProdotti td[data-title="Produttore"] b { color: #333; font-size: 13px; }
	#Tabella_ElencoProdotti td[data-title="Produttore"] img { max-height: 22px; width: auto; }
	#Tabella_ElencoProdotti td[data-title="Prodotto"] { grid-area: nome; font-size: 12px; color: #777; line-height: 1.35; }
	#Tabella_ElencoProdotti td[data-title="Prodotto"] a { font-size: 15px !important; line-height: 1.3; margin: 2px 0 2px !important; display: block !important; color: #222; }
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Importo unitario"],
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Sconto da listino"],
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Listino"],
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Disponibilità"] { text-align: right !important; justify-self: end; }
	#Tabella_ElencoProdotti td[data-title="Importo unitario"] { grid-area: prezzo; }
	#Tabella_ElencoProdotti td[data-title="Importo unitario"] .scheme_color { font-size: 20px; line-height: 1.1; }
	#Tabella_ElencoProdotti td[data-title="Sconto da listino"] { grid-area: sconto; }
	#Tabella_ElencoProdotti td[data-title="Listino"] { grid-area: listino; font-size: 12px; }
	#Tabella_ElencoProdotti td[data-title="Disponibilità"] { grid-area: disp; font-size: 13px; line-height: 1.3; margin-top: 4px !important; }
	#Tabella_ElencoProdotti td[data-title="Disponibilità"] br { display: none; }
	#Tabella_ElencoProdotti td[data-title="Disponibilità"] small { display: block; color: #6aaf5f; font-size: 11px; }
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Disponibilità2"],
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="-"],
	#Tabella_ElencoProdotti tr.pl-prodotto > td.pl-vuota { display: none !important; }
	#Tabella_ElencoProdotti tr.pl-prodotto > td[data-title="Disponibilità2"]:not(.pl-vuota):not(.pl-vuota-cella) { display: block !important; grid-column: 2 / -1; text-align: right !important; font-size: 12px; color: #777; }
}
