/* Correzioni responsive - ottobre 2026. Caricato dopo style.css */

/* niente scroll orizzontale su tablet/telefono */
body { overflow-x: hidden; }

/* ---------- Galleria "E Ancora": griglia CSS al posto di Justified Gallery ---------- */
.portfolio-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: auto !important;
}
.portfolio-gallery .item {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.portfolio-gallery .item img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
/* didascalia sempre visibile in basso (su touch non esiste l'hover) */
.portfolio-gallery .caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 25px 20px 20px;
	background: linear-gradient(to top, rgba(17,17,17,.92) 0%, rgba(17,17,17,.75) 70%, rgba(17,17,17,0) 100%);
}
.portfolio-gallery .item:hover img { transform: scale(1.05); }
.portfolio-gallery .caption h4 {
	font-size: 2.6rem;
	line-height: 1.15em;
	margin-bottom: 10px;
}
.portfolio-gallery .caption .tags { font-size: 1.5rem; line-height: 1.4em; }
/* l'ultimo elemento, se resta da solo sulla riga, la occupa tutta */
.portfolio-gallery .item:last-child:nth-child(3n+1) { grid-column: 1 / -1; aspect-ratio: 3 / 1; }

@media (max-width: 991px) {
	.portfolio-gallery { grid-template-columns: repeat(2, 1fr); }
	.portfolio-gallery .item:last-child:nth-child(3n+1) { grid-column: auto; aspect-ratio: 4 / 3; }
	.portfolio-gallery .item:last-child:nth-child(2n+1) { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
}

@media (max-width: 599px) {
	.portfolio-gallery { grid-template-columns: 1fr; }
	.portfolio-gallery .item:last-child:nth-child(2n+1) { aspect-ratio: 4 / 3; }
	.portfolio-gallery .caption h4 { font-size: 2.2rem; }
	.portfolio-gallery .caption .tags { font-size: 1.4rem; }
}

/* ---------- Sezioni ---------- */
@media (max-width: 991px) {
	/* sotto i 992px l'immagine di sfondo è nascosta: niente altezza a tutto schermo */
	#agency { min-height: 0 !important; padding-top: 70px !important; padding-bottom: 70px !important; }
	#process { padding-left: 15px; padding-right: 15px; }
	#contact .contact-information { margin-top: 40px; }
}

@media (min-width: 768px) and (max-width: 991px) {
	/* modulo e recapiti uno sotto l'altro: affiancati la colonna recapiti è troppo stretta */
	#contact .form-background,
	#contact .col-md-offset-1 { width: 100%; margin-left: 0; }
}

@media (max-width: 767px) {
	#process .h1 { font-size: 3rem; line-height: 1.25em; }
	#process .h1 br { display: none; }
	#contact { min-height: 0 !important; padding-top: 80px !important; padding-bottom: 60px !important; }
}

/* numeri e mail cliccabili, stesso colore del testo */
.contact-information a[href^="tel:"] { color: inherit; }

/* testo de "L'Azienda" più grande sugli schermi ampi */
@media (min-width: 1200px) {
	#agency p { font-size: 1.9rem; line-height: 1.6em; font-weight: 400; color: #4a4a4a; margin-bottom: 35px; }
}
@media (min-width: 1600px) {
	#agency p { font-size: 2.2rem; }
}

/* badge Ajax PRO Partner nella scheda Videosorveglianza */
.ajax-partner { display: flex; align-items: center; gap: 15px; font-weight: 400; color: #333; }
.ajax-partner img { flex: 0 0 auto; height: 55px; width: auto; }
@media (max-width: 479px) {
	.ajax-partner { flex-direction: column; align-items: flex-start; gap: 10px; }
}
