/* Magazine (/magazine/): griglia masonry sullo stile della demo Hoteller "Beach" */

.os-magazine-intro {
	padding: 40px 0 70px 0;
}

.os-magazine-intro .os-magazine-title {
	font-family: Raleway, sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 1.2;
	margin: 0 0 25px 0;
}

.os-magazine-intro .os-magazine-subtitle {
	font-size: 16px;
	margin: 0 0 30px 0;
}

/* Griglia: 3 colonne, spazio di 45px come nella demo */
.os-masonry {
	position: relative;
}

.os-masonry:after {
	content: "";
	display: block;
	clear: both;
}

.os-masonry-sizer,
.os-masonry .os-masonry-item {
	width: calc((100% - 90px) / 3);
}

.os-masonry .os-masonry-item {
	float: left;
	margin: 0;
	padding-bottom: 45px;
	box-sizing: border-box;
}

/* Senza Masonry (script non partito): griglia a righe con gli stessi spazi.
   Il primo figlio è .os-masonry-sizer, quindi il 1° articolo di ogni riga è 3n+2 */
.os-masonry:not(.os-masonry-js) .os-masonry-item {
	margin-right: 45px;
}

.os-masonry:not(.os-masonry-js) .os-masonry-item:nth-child(3n+1) {
	margin-right: 0;
}

.os-masonry:not(.os-masonry-js) .os-masonry-item:nth-child(3n+2) {
	clear: left;
}

/* Comparsa progressiva: con JavaScript attivo (classe os-js messa nell'head)
   le schede partono nascoste, così non si vede la griglia prima di Masonry */
.os-js .os-masonry .os-masonry-item {
	opacity: 0;
	transform: translateX(-40px);
	transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.os-js .os-masonry .os-masonry-item.is-showing,
.os-js.os-masonry-timeout .os-masonry .os-masonry-item {
	opacity: 1;
	transform: translateX(0);
}

/* Fondo sabbia chiaro sotto le schede */
body.blog,
body.blog #wrapper,
body.blog #page_content_wrapper {
	background-color: #f6f4f0;
}

/* L'intestazione con il logo resta bianca, come nel resto del sito */
body.blog .header_style_wrapper,
body.blog .top_bar {
	background-color: #ffffff;
}

/* Scheda: fondo bianco, angoli morbidi, ombra leggera */
.os-masonry .post_wrapper {
	margin: 0;
	padding: 0;
	border: 0;
	background: #ffffff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(34, 34, 34, 0.06);
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.os-masonry .post_wrapper:hover {
	box-shadow: 0 12px 30px rgba(34, 34, 34, 0.12);
	transform: translateY(-4px);
}

.os-masonry .post_img,
.os-masonry .post_img_hover {
	margin: 0;
	overflow: hidden;
}

.os-masonry .post_img img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.6s ease;
}

.os-masonry .post_wrapper:hover .post_img img {
	transform: scale(1.04);
}

.os-masonry .post_content_wrapper.text_center {
	text-align: center;
	padding: 26px 28px 30px 28px;
}

.os-masonry .post_detail.single_post {
	margin-bottom: 10px;
}

/* Categoria nell'arancio del brand */
.os-masonry .post_info_cat,
.os-masonry .post_info_cat a {
	color: #df870e;
	font-weight: 600;
}

.os-masonry .post_info_cat a:hover {
	color: #e27024;
}

.os-masonry .post_header_title h5 {
	font-size: 22px;
	line-height: 1.3;
	margin: 0;
}

.os-masonry .post_header_title h5 a {
	transition: color 0.2s ease;
}

.os-masonry .post_wrapper:hover .post_header_title h5 a {
	color: #df870e;
}

.os-masonry .os-card-excerpt {
	margin: 14px 0 0 0;
	font-size: 14px;
	line-height: 1.7;
	color: #666666;
}

.os-masonry .os-card-more {
	display: inline-block;
	margin-top: 18px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #222222;
	border-bottom: 1px solid #df870e;
	padding-bottom: 2px;
	transition: color 0.2s ease;
}

.os-masonry .os-card-more span {
	display: inline-block;
	transition: transform 0.2s ease;
}

.os-masonry .os-card-more:hover {
	color: #df870e;
}

.os-masonry .os-card-more:hover span {
	transform: translateX(4px);
}

.os-masonry .post_header_wrapper {
	margin-top: 15px;
}

@media only screen and (max-width: 960px) {
	.os-masonry-sizer,
	.os-masonry .os-masonry-item {
		width: calc((100% - 45px) / 2);
	}

	.os-masonry:not(.os-masonry-js) .os-masonry-item,
	.os-masonry:not(.os-masonry-js) .os-masonry-item:nth-child(3n+1),
	.os-masonry:not(.os-masonry-js) .os-masonry-item:nth-child(3n+2) {
		margin-right: 0;
		clear: none;
	}

	.os-masonry:not(.os-masonry-js) .os-masonry-item:nth-child(2n) {
		margin-right: 45px;
		clear: left;
	}
}

@media only screen and (max-width: 767px) {
	.os-magazine-intro {
		padding: 10px 0 40px 0;
	}

	.os-magazine-intro .os-magazine-title {
		font-size: 34px;
	}

	.os-masonry-sizer,
	.os-masonry .os-masonry-item {
		width: 100%;
	}

	.os-masonry:not(.os-masonry-js) .os-masonry-item:nth-child(2n) {
		margin-right: 0;
	}

	.os-masonry .post_header_title h5 {
		font-size: 20px;
	}

	.os-masonry .post_content_wrapper.text_center {
		padding: 22px 22px 26px 22px;
	}

	.os-masonry .os-masonry-item {
		padding-bottom: 30px;
	}
}
