/* Quadrilatero Progetti — gallery masonry + lightbox */

.quadp-gal{
	column-count:var(--quadp-cols,3);
	column-gap:clamp(.9rem,1.8vw,1.4rem);
	font-family:Manrope,-apple-system,sans-serif;
}
@media (max-width:960px){.quadp-gal{column-count:2}}
@media (max-width:600px){.quadp-gal{column-count:1}}

.quadp-item{
	position:relative;display:block;break-inside:avoid;
	margin:0 0 clamp(.9rem,1.8vw,1.4rem);
	border-radius:22px;overflow:hidden;
	border:1px solid rgba(21,46,58,.10);
	text-decoration:none;
	transform:translateZ(0); /* fix bordi arrotondati in Safari */
}
.quadp-item img{
	display:block;width:100%;height:auto;
	transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.quadp-item:hover img{transform:scale(1.05)}

.quadp-veil{
	position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(9,20,28,0) 45%,rgba(9,20,28,.82) 100%);
	opacity:.85;transition:opacity .4s;
}
.quadp-item:hover .quadp-veil{opacity:1}

.quadp-cap{position:absolute;left:18px;right:18px;bottom:16px;color:#fff}
.quadp-t{display:block;font-family:'Bricolage Grotesque',Manrope,sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-.01em}
.quadp-s{display:block;font-size:.88rem;color:rgba(255,255,255,.75);margin-top:2px}

.quadp-bar{
	position:absolute;left:0;bottom:0;height:4px;width:0;
	background:var(--acc,#4D9EBA);
	transition:width .5s cubic-bezier(.22,1,.36,1);
}
.quadp-item:hover .quadp-bar{width:100%}

.quadp-badge{
	position:absolute;top:12px;left:12px;z-index:2;
	background:rgba(9,20,28,.85);color:#fff;
	font-weight:800;font-size:.68rem;letter-spacing:.14em;
	padding:.4rem .65rem;border-radius:999px;
}
.quadp-play{
	position:absolute;top:50%;left:50%;z-index:2;
	width:56px;height:56px;margin:-28px 0 0 -28px;
	transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.quadp-play svg{width:100%;height:100%}
.quadp-item:hover .quadp-play{transform:scale(1.1)}

/* ---------------- lightbox ---------------- */
.quadp-lb{
	position:fixed;inset:0;z-index:99999;display:none;
	align-items:center;justify-content:center;
	background:rgba(9,20,28,.94);padding:4vh 4vw;
	font-family:Manrope,sans-serif;
}
.quadp-lb.on{display:flex}
.quadp-lb__media{max-width:min(1100px,92vw);max-height:78vh;display:flex;align-items:center;justify-content:center}
.quadp-lb__media img,.quadp-lb__media video{max-width:100%;max-height:78vh;border-radius:14px;display:block}
.quadp-lb__cap{position:absolute;left:50%;transform:translateX(-50%);bottom:3.5vh;text-align:center;color:#fff}
.quadp-lb__cap .t{font-family:'Bricolage Grotesque',Manrope,sans-serif;font-weight:700;font-size:1.1rem}
.quadp-lb__cap .s{font-size:.88rem;color:rgba(255,255,255,.7)}
.quadp-lb__btn{
	position:absolute;display:grid;place-items:center;
	width:46px;height:46px;border-radius:50%;
	background:rgba(255,255,255,.12);color:#fff;
	border:1px solid rgba(255,255,255,.25);
	cursor:pointer;font-size:26px;line-height:1;
	transition:background .3s;
}
.quadp-lb__btn:hover{background:rgba(255,255,255,.25)}
.quadp-lb__close{top:18px;right:18px}
.quadp-lb__prev{left:18px;top:50%;transform:translateY(-50%)}
.quadp-lb__next{right:18px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){
	.quadp-lb__prev,.quadp-lb__next{top:auto;bottom:10vh;transform:none}
}
@media (prefers-reduced-motion:reduce){
	.quadp-item img,.quadp-veil,.quadp-bar,.quadp-play{transition:none!important}
}

/* Nasconde i controlli del volume solo per i video con audio disattivato (Chrome, Edge, Safari) */
.quadp-lb__media video.quadp-mute::-webkit-media-controls-mute-button,
.quadp-lb__media video.quadp-mute::-webkit-media-controls-volume-slider,
.quadp-lb__media video.quadp-mute::-webkit-media-controls-volume-control-container{
	display:none!important;
}
