@charset "utf-8";
/* CSS Document — div_products.css */


/*///////////////////// CATALOGO PRODOTTI /////////////////////////////*/

.ProductsMenu_Box {
	position: relative;
	left: 14px;
	border-bottom: 1px solid var(--color-sidebar-border, #dfe6f5);
	color: var(--color-sidebar-text, #2d3a52);
	font-weight: 400;
	font-size: 1.1em;
	text-align: left;
	line-height: 42px;
	transition: background 0.15s ease;
}

.ProductsMenu_Pad {
	padding: 5px 20px 20px 20px;
}

.ProductsSubMenu {
	display: none;
	color: var(--color-sidebar-text-muted, #6b7a99);
	font-weight: 300;
	font-size: 13px;
	text-align: left;
	line-height: 20px;
}

div#ProductsSearch_Box {
	width: 100%;
	border: 1px solid #dfe6f5;
	border-radius: 12px;
	background: #ffffff;
}

div#ProductsSearch_Pad {
	padding: 40px 0px 50px 30px;
}

.OldPrice {
	text-decoration: line-through;
	color: #6b7a99;
}

div#ProductDetail_Box {
	font-size: 1em;
	width: 100%;
	text-align: justify;
	margin-right: auto;
	margin-left: auto;
	margin-top: 20px;
	border: 1px solid #dfe6f5;
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(2, 35, 99, 0.07);
}

div#ProductDetail_Pad {
	padding: 20px 20px 20px 20px;
}

.HomeProductsLink {
	color: #022363;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0px;
	transition: color 0.18s ease;
}

.HomeProductsLink:hover {
	color: #3399FF;
}


/******************************************************/

@media screen and (max-width: 767px) {

	div#ProductsHomeMosaic_Box {
		width: 100%;
		float: left;
		vertical-align: top;
		background: #ffffff;
		border: 1px solid #dfe6f5;
		border-radius: 14px;
		box-shadow: 0 2px 10px rgba(2, 35, 99, 0.07);
		margin: 1%;
		transition: box-shadow 0.25s ease;
	}

	div#ProductsMosaic_Box {
		width: 98%;
		vertical-align: top;
		background: #ffffff;
		border: 1px solid #dfe6f5;
		border-radius: 14px;
		box-shadow: 0 2px 10px rgba(2, 35, 99, 0.07);
	}

	div#ProductsMosaic_Pad {
		padding: 20px 20px 20px 0px;
	}

	/* Dettaglio articolo / prodotto: testo + foto a colonna intera su mobile */
	.ColonnaTesto,
	.ColonnaFoto {
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0.75rem 0;
		padding: 0;
		box-sizing: border-box;
	}

	.ColonnaTesto {
		text-align: left;
	}

	.ColonnaTesto::after {
		content: "";
		display: table;
		clear: both;
	}

	/* Contenuti CMS (approfondimenti, tabelle, immagini inline) non restano “a metà colonna” */
	.ColonnaTesto img,
	.ColonnaTesto iframe,
	.ColonnaTesto video {
		max-width: 100%;
		height: auto;
	}

	.ColonnaTesto table {
		max-width: 100%;
		display: block;
		overflow-x: auto;
	}

	.ColonnaFoto {
		text-align: center;
	}
}

@media screen and (min-width: 768px) {

	div#ProductsHomeMosaic_Box {
		width: 100%;
		float: left;
		vertical-align: top;
		background: #ffffff;
		border: 1px solid #dfe6f5;
		border-radius: 14px;
		box-shadow: 0 2px 10px rgba(2, 35, 99, 0.07);
		margin: 1%;
		transition: box-shadow 0.25s ease;
	}

	div#ProductsMosaic_Box {
		width: 47%;
		float: left;
		vertical-align: top;
		background: #ffffff;
		border: 1px solid #dfe6f5;
		border-radius: 14px;
		box-shadow: 0 2px 12px rgba(2, 35, 99, 0.07);
		margin: 1%;
		transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
	}

	div#ProductsMosaic_Box:hover {
		box-shadow: 0 8px 28px rgba(2, 35, 99, 0.14);
		transform: translateY(-5px);
		border-color: #c8d8f5;
	}

	div#ProductsMosaic_Pad {
		padding: 1%;
	}

	.MosaicFoto {
		float: left;
		width: 32%;
		padding: 2%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.MosaicText {
		float: left;
		width: 50%;
		padding: 2%;
		font-size: 0.8rem;
		color: #6b7a99;
		padding-top: 5px;
		line-height: 1.45;
	}

	.ColonnaTesto {
		width: 39%;
		float: left;
		margin: 5%;
		color: #4a5568;
	}

	.ColonnaTesto::after {
		content: "";
		display: table;
		clear: both;
	}

	.ColonnaTesto img,
	.ColonnaTesto iframe,
	.ColonnaTesto video {
		max-width: 100%;
		height: auto;
	}

	.ColonnaTesto table {
		max-width: 100%;
	}

	.ColonnaFoto {
		width: 44%;
		float: right;
		text-align: center;
		padding: 50px 0% 0% 5%;
	}

	/* Layout due colonne catalogo / schede (stesso breakpoint) */
	div#mainleft_box {
		margin-top: 15px;
		width: 65%;
		float: left;
	}

	div#mainleft_pad {
		padding-right: 10px;
	}

	div#mainright_box {
		width: 35%;
		float: left;
		margin-top: 15px;
		border-radius: 12px;
	}

	div#mainright_pad {
		padding-left: 10px;
	}
}

.CorniceFotoMosaic {
	width: 100%;
	height: 200px;
	text-align: center;
	overflow: hidden;
	border: none;
	border-bottom: 1px solid #edf1f9;
	border-radius: 14px 14px 0 0;
	background: #f5f8ff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.TitleMosaic {
	font-size: 0.92rem;
	font-weight: 600;
	color: #022363;
	min-height: 56px;
	line-height: 1.38;
	font-family: 'Outfit', Arial, sans-serif;
}

.LogoMini {
	position: relative;
	left: 85%;
	top: 330px;
	z-index: 20;
}

.BoxProduct {
	padding: 20px;
	font-size: 0.9rem;
	color: #4a5568;
	border: 1px solid #dfe6f5;
	border-radius: 14px;
	min-height: 190px;
	position: relative;
	top: -20px;
	float: left;
	background: #ffffff;
	box-shadow: 0 2px 10px rgba(2, 35, 99, 0.06);
	transition: background 0.18s ease, box-shadow 0.18s ease;
}

.BoxProduct:hover {
	background-color: #f5f8ff;
	box-shadow: 0 4px 18px rgba(2, 35, 99, 0.11);
}


/* Status ordine */
.StatusOrdineArancio {
	background-color: #f97316;
	font-size: 0.8rem;
	padding: 6px 10px 6px 5px;
	vertical-align: top;
	border-radius: 4px;
	font-weight: 500;
}

.StatusOrdineGiallo {
	background-color: #eab308;
	color: #1a1a1a;
	font-size: 0.8rem;
	padding: 6px 10px 6px 5px;
	vertical-align: top;
	border-radius: 4px;
	font-weight: 500;
}

.StatusOrdineRosso {
	background-color: #ef4444;
	font-size: 0.8rem;
	padding: 6px 10px 6px 5px;
	vertical-align: top;
	border-radius: 4px;
	font-weight: 500;
}

.StatusOrdineVerde {
	background-color: #16a34a;
	font-size: 0.8rem;
	padding: 6px 10px 6px 5px;
	vertical-align: top;
	border-radius: 4px;
	font-weight: 500;
}

.StatusOrdineVerdeChiaro {
	background-color: #4ade80;
	color: #14532d;
	font-size: 0.8rem;
	padding: 6px 10px 6px 5px;
	vertical-align: top;
	border-radius: 4px;
	font-weight: 500;
}

.StatusOrdineGrigio {
	background-color: #94a3b8;
	font-size: 0.8rem;
	padding: 6px 10px 6px 5px;
	vertical-align: top;
	border-radius: 4px;
	font-weight: 500;
}
