/* ============================================================
   Vista lista prodotti (page_prodotti.php) — attivata da $ATTIVA_VISTA_LISTA_PRODOTTI=1
   Prefisso .product-list-rows per non impattare la vista griglia.
   ============================================================ */

/* Toggle griglia/lista in filter_order */
.view-toggle.btn-group {
	position: relative;
}
/* NB: niente z-index sul toggle. Un z-index alto lo faceva emergere sopra l'header
   fisso (.header-fixed, z-index auto) durante lo scroll. I click sul toggle restano
   garantiti dal pointer-events:none su .position-notify (vedi sotto). */

/* Mobile/tablet: il pulsante sticky "Apri Filtri" (.btn-filter-sidebar-sticky, z-index:1) viene coperto da:
   - .sorting-option:before (chevron del select, z-index:99 da style.css)
   - eventuali toggle/altri children del row filter_order
   quando il row scorre sotto. Bump z-index della sticky per coprire tutto. */
@media (max-width: 991px){
	.btn-filter-sidebar-sticky { z-index: 100 !important; }
}
.view-toggle.btn-group .btn-view-mode {
	border: 1px solid #ddd;
	background: #fff;
	color: #555;
	padding: 0.35rem 0.6rem;
	line-height: 1;
}

/* Fix: .position-notify (toast container) è position:fixed top:190px/right:10px e copre l'area del toggle
   anche quando vuoto, intercettando i click. Disabilita pointer-events sul contenitore e li riabilita
   solo sui toast effettivamente visibili (.show) così la "x" di chiusura continua a funzionare. */
.position-notify { pointer-events: none; }
.position-notify .toast-alert.show,
.position-notify .toast-alert.showing { pointer-events: auto; }
.view-toggle.btn-group .btn-view-mode i {
	font-size: 14px;
}
.view-toggle.btn-group .btn-view-mode:hover {
	background: #f4f4f4;
}
.view-toggle.btn-group .btn-view-mode.active {
	background: #e6213a;
	border-color: #e6213a;
	color: #fff;
}
@media (max-width: 575.98px){
	.view-toggle.btn-group { margin-left: 8px; }
}

/* Container lista */
.product-list-rows {
	display: block;
	width: 100%;
}

/* Singola riga */
.product-list-rows .product-list-row {
	width: 100%;
	padding: 16px 0;
	border-bottom: 1px solid #eee;
}
.product-list-rows .product-list-row:last-child { border-bottom: 0; }

/* Immagine — stesso comportamento della griglia: nessun crop, ratio naturale */
.product-list-rows .product-list-row-img-wrap {
	text-align: center;
}
/* Desktop: centra verticalmente l'immagine nella riga (evita gap in alto quando il body è più alto) */
@media (min-width: 768px){
	.product-list-rows .product-list-row-img-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
/* Box interno: ancora per posizionamento assoluto del bollino sconto e icona preferiti SOPRA l'immagine (non sotto la riga) */
.product-list-rows .product-list-row-img-box {
	position: relative;
	display: block;
	width: 100%;
}
.product-list-rows .product-list-row-img {
	display: block;
}
.product-list-rows .product-list-row-img img {
	width: 100%;
	height: auto;
	display: block;
}
/* Riusa stile bollino di .product-list (custom.css): position:absolute; bottom:5px; left:0; width:50px; bg giallo.
   Con .product-list-row-img-box come ancora, il bollino resta overlay sull'immagine. */

/* Body riga */
.product-list-rows .product-list-row-body {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
/* Riusa .quickview-product-detail (.box-title / .box-text / .box-label-doppio-sconto / .box-label) — niente override */
.product-list-rows .quickview-product-detail .box-title { font-size: 22px; }

/* Prezzi: stessa grafica scheda prodotto, ma leggermente più piccoli per la vista lista */
.product-list-rows .product-list-row-prices > .py-3:first-child { padding-left: 0 !important; }
.product-list-rows .product-list-row-prices .ft-xl { font-size: 1.5rem; }      /* da 2rem (32px) → 24px */
.product-list-rows .product-list-row-prices .ft-18 { font-size: 14px; }         /* da 18px → 14px (€) */
.product-list-rows .product-list-row-prices .ft-12 { font-size: 10px; }         /* label PREZZO RETAIL/SCONTATO/PREZZO + i.e. */
.product-list-rows .product-list-row-prices .prezzo-scontato { line-height: 1.1; }
/* Tablet / desktop piccolo (768–1199): body più stretto (col-md-7/col-lg-8) → riduci size+padding prezzi per evitare wrap */
@media (min-width: 768px) and (max-width: 1199.98px){
	.product-list-rows .product-list-row-prices .ft-xl { font-size: 1.25rem; } /* 20px */
	.product-list-rows .product-list-row-prices .ft-18 { font-size: 12px; }
	.product-list-rows .product-list-row-prices .ft-12 { font-size: 9px; }
	.product-list-rows .product-list-row-prices .py-3,
	.product-list-rows .product-list-row-prices .py-3.pl--20,
	.product-list-rows .product-list-row-prices .py-3.pl-lg--30 { padding-left: 12px !important; padding-right: 4px !important; }
}
@media (max-width: 575.98px){
	.product-list-rows .quickview-product-detail .box-title { font-size: 18px; margin-bottom: 2px !important; }
	.product-list-rows .quickview-product-detail .box-text { margin-bottom: 6px !important; font-size: 12px; }
	/* Prezzi: inline su mobile (3 blocchi affiancati), font ridotto e padding stretti per starci in una sola riga */
	.product-list-rows .product-list-row-prices { flex-wrap: nowrap !important; gap: 0; justify-content: space-between !important; }
	.product-list-rows .product-list-row-prices .ft-xl { font-size: 16px; }
	.product-list-rows .product-list-row-prices .ft-18 { font-size: 11px; }
	.product-list-rows .product-list-row-prices .ft-12 { font-size: 9px; }
	.product-list-rows .product-list-row-prices .py-3,
	.product-list-rows .product-list-row-prices .py-3.pl--20,
	.product-list-rows .product-list-row-prices .py-3.pr--20 {
		padding: 6px 4px !important;
	}
	.product-list-rows .product-list-row-prices > .py-3 { flex: 1 1 0; min-width: 0; }
}

/* Tabella taglie/disp/qta */
.product-list-rows .product-detail-modal .table { margin-bottom: 8px; }
.product-list-rows .product-detail-modal table th,
.product-list-rows .product-detail-modal table td {
	vertical-align: middle;
	padding: 6px 8px;
}
.product-list-rows .product-detail-modal .quantity_filter input[type="text"] {
	width: 50px;
	text-align: center;
}

/* Mobile: layout compatto immagine + body */
@media (max-width: 767.98px){
	/* Riduci spazio verticale tra le sezioni della riga */
	.product-list-rows .product-list-row { padding: 12px 0; }
	.product-list-rows .product-list-row-img-wrap { margin-bottom: 8px; }
	.product-list-rows .product-list-row-img-box { max-width: 280px; margin: 0 auto; }
	.product-list-rows .quickview-product-detail .box-title { line-height: 1.15; }
	.product-list-rows .collapse_detail.mb--10 { margin-bottom: 4px !important; }
	.product-list-rows .product-detail-modal .table { margin-bottom: 6px; }
	.product-list-rows .product-list-row-footer { margin-top: 4px; }
}
@media (max-width: 767.98px){
	/* Tabella taglie compatta: ogni model = UNA riga orizzontale (Taglia | Disp | Qty inline),
	   non più 3 righe stacked. Label piccola sopra il valore per ogni cella. */
	.product-list-rows .product-detail-modal table,
	.product-list-rows .product-detail-modal tbody {
		display: block;
		width: 100%;
	}
	.product-list-rows .product-detail-modal thead { display: none; }
	.product-list-rows .product-detail-modal tr {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		border: 1px solid #eee;
		border-radius: 8px;
		margin-bottom: 6px;
		padding: 8px 10px;
	}
	.product-list-rows .product-detail-modal td {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		border: 0;
		padding: 0;
		text-align: left;
		line-height: 1.2;
	}
	/* Label piccola (data-title) sopra al valore */
	.product-list-rows .product-detail-modal td:before {
		content: attr(data-title);
		font-size: 9px;
		font-weight: 600;
		text-transform: uppercase;
		color: #999;
		margin-bottom: 2px;
	}
	.product-list-rows .product-detail-modal td.product-taglie { flex: 0 0 auto; min-width: 48px; font-weight: 600; }
	.product-list-rows .product-detail-modal td.product-disponibilita { flex: 1 1 auto; }
	.product-list-rows .product-detail-modal td.product-quantity { flex: 0 0 auto; align-items: flex-end; }
	/* Selettore quantità mobile: select compatto allineato a destra */
	.product-list-rows .product-detail-modal .product-quantity .quantity_filter.d-lg-none {
		display: inline-block !important;
		width: auto !important;
		margin: 0 !important;
	}
	.product-list-rows .product-detail-modal .product-quantity .quantity_filter.d-lg-none select {
		display: inline-block;
		margin: 0;
		min-width: 58px;
		height: 34px;
		padding: 2px 6px;
	}
	.product-list-rows .product-list-row-prices { width: 100%; justify-content: flex-start; margin-top: 6px; }
	.product-list-rows .product-list-row-price-block { padding-left: 0; padding-right: 12px; text-align: left; }
}

/* Footer riga: "Vedi Codici/Ean" a sinistra + pulsante 1X a destra, stessa baseline. */
.product-list-rows .product-list-row-footer {
	margin-top: 8px;
	gap: 12px;
}
.product-list-rows .product-list-row-extra {
	font-size: 13px;
}
.product-list-rows .product-list-row-extra a { color: #555; text-decoration: none; }
.product-list-rows .product-list-row-extra a:hover { color: #000; }
.product-list-rows .product-list-row-actions {
	display: inline-flex;
}
/* Pulsante 1X: pill rotondo (omogeneo allo stile dei CTA del sito), icona carrello + label. */
.product-list-rows .product-list-row-add-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 22px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 999px;
	line-height: 1.2;
	min-width: 84px;
	justify-content: center;
}
.product-list-rows .product-list-row-add-btn img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	filter: brightness(0) invert(1); /* icona bianca su sfondo rosso */
}
/* Collapse EAN: si apre nella riga sottostante, full-width, scroll orizz. se troppo stretto */
.product-list-rows .product-list-row-ean { width: 100%; overflow-x: auto; }
.product-list-rows .product-list-row-ean table { min-width: 480px; }
.product-list-rows .collapse_detail a { color: #e6213a; }
@media (max-width: 575.98px){
	.product-list-rows .product-list-row-footer { flex-direction: column-reverse; align-items: stretch !important; }
	.product-list-rows .product-list-row-actions { width: 100%; }
	.product-list-rows .product-list-row-add-btn { width: 100%; padding: 10px 22px; }
	.product-list-rows .product-list-row-extra { text-align: left; }
}

/* Box label sconto in riga (riusa stile esistente, allinea spacing) */
.product-list-rows .box-label,
.product-list-rows .box-label-doppio-sconto { display: inline-block; }
