/* Mikron Prodotti */
.mpr{ display:flow-root; width:100%; }

.mpr-grid{
	--mpr-min:300px;
	--mpr-gap:18px;
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:var(--mpr-gap);
}

.mpr-card{
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid #e6e9ef;
	border-radius:8px;
	overflow:hidden;
	min-width:0;
	text-decoration:none;
	color:inherit;
	transition:transform .2s ease, box-shadow .2s ease;
	animation:mkwIn .45s ease backwards;
}
a.mpr-card:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(11,37,69,.12); }

.mpr-media{
	position:relative;
	width:100%;
	height:260px;
	background:#eef1f5;
	overflow:hidden;
}
.mpr-media img{
	display:block; width:100%; height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}
a.mpr-card:hover .mpr-media img{ transform:scale(1.06); }

.mpr-zoom{
	position:absolute; top:12px; right:12px;
	width:38px; height:38px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:rgba(11,37,69,.55); color:#fff;
	opacity:0; transform:scale(.8);
	transition:opacity .2s ease, transform .2s ease;
}
a.mpr-card:hover .mpr-zoom{ opacity:1; transform:scale(1); }

.mpr-body{
	display:flex; flex-direction:column; gap:8px;
	padding:14px 16px 18px;
}
.mpr-title{ margin:0; font-size:16px; line-height:1.3; color:#0B2545; font-weight:600; }
.mpr-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.mpr-tags span{
	font-size:11.5px; color:#0B2545;
	background:#f2f4f7; border-radius:999px;
	padding:3px 9px; line-height:1.2;
}
.mpr-desc{ margin:2px 0 0; font-size:13.5px; line-height:1.5; color:#5A6472; }

/* ===== Galleria (lightbox) animata ===== */
.mpr-lb{
	position:fixed; inset:0; z-index:99999;
	display:flex; align-items:center; justify-content:center;
	opacity:0; transition:opacity .25s ease;
}
.mpr-lb.is-open{ opacity:1; }
.mpr-lb__backdrop{ position:absolute; inset:0; background:rgba(6,17,33,.9); }
.mpr-lb__stage{
	position:relative; z-index:1;
	max-width:92vw; max-height:88vh;
	display:flex; flex-direction:column; align-items:center; gap:12px;
	transform:scale(.94); transition:transform .25s ease;
}
.mpr-lb.is-open .mpr-lb__stage{ transform:scale(1); }
.mpr-lb__img{
	max-width:92vw; max-height:80vh;
	object-fit:contain; border-radius:6px;
	background:#0b1a2b;
	box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.mpr-lb__cap{ color:#e9edf3; font-size:14px; text-align:center; }
.mpr-lb__close{
	position:absolute; top:-46px; right:0;
	width:40px; height:40px; border:none; cursor:pointer;
	background:rgba(255,255,255,.12); color:#fff; border-radius:8px;
	font-size:22px; line-height:1;
}
.mpr-lb__nav{
	position:absolute; top:50%; transform:translateY(-50%);
	width:48px; height:48px; border:none; cursor:pointer;
	background:rgba(255,255,255,.14); color:#fff; border-radius:50%;
	font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center;
}
.mpr-lb__nav:hover{ background:rgba(255,255,255,.28); }
.mpr-lb__prev{ left:-64px; }
.mpr-lb__next{ right:-64px; }

@media (max-width:768px){
	.mpr-lb__prev{ left:6px; }
	.mpr-lb__next{ right:6px; }
	.mpr-lb__close{ top:-44px; }
}

@keyframes mkwIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Sicurezza schermi molto stretti */
@media (max-width:520px){
  .msv-grid,.mpk-grid,.mpr-grid{ grid-template-columns:1fr; }
}
