/* GENIUSLOOCI - CSS UNICO PULITO */
/* base */
body {
	background: #f4efe7;
	color: #1f2a26;
}

/* forza i blocchi HTML a uscire dai limiti del tema */
.gl-home,
.gl-page {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 5rem 0 8rem;
	box-sizing: border-box;
}

/* contenitore interno largo coerente */
.gl-home-hero,
.gl-home-room,
.gl-title-block,
.gl-section {
	width: min(94vw, 1500px);
	margin-left: auto;
	margin-right: auto;
}

/* HOME */
.gl-home-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 8rem);
	align-items: center;
	min-height: 82vh;
	padding-bottom: 7rem;
}

.gl-home-hero img {
	width: 100%;
	height: auto;
	max-height: 82vh;
	object-fit: contain;
	display: block;
}

.gl-home-quote {
	font-size: clamp(1.8rem, 3vw, 3.4rem);
	line-height: 1.35;
	font-style: italic;
}

.gl-home-source {
	margin-top: 2rem;
	font-size: 1.05rem;
	text-align: right;
	opacity: .7;
}

.gl-home-room {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: clamp(3rem, 7vw, 8rem);
	align-items: start;
	padding: 8rem 0;
	border-top: 1px solid rgba(31, 42, 38, 0.18);
}

.gl-home-room-title {
	font-size: clamp(5rem, 13vw, 13rem);
	line-height: .82;
	letter-spacing: -.08em;
	font-weight: 500;
	margin: 0;
}

.gl-home-room-text {
	max-width: 760px;
	padding-top: 1.5rem;
	font-size: clamp(1.25rem, 1.7vw, 1.75rem);
	line-height: 1.55;
}

.gl-home-room-text p {
	margin: 0 0 1.4rem;
}

/* PAGINE INTERNE */
.gl-full-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 7rem;
}

.gl-full-hero img {
	width: 100%;
	height: min(86vh, 820px);
	object-fit: cover;
	object-position: center center;
	display: block;
}

.gl-title-block {
	max-width: 1500px;
	margin-bottom: 8rem;
}

.gl-page-title {
	font-size: clamp(5rem, 13vw, 13rem);
	line-height: .82;
	letter-spacing: -.08em;
	font-weight: 500;
	margin: 0 0 3rem;
}

.gl-page-intro {
	max-width: 900px;
	font-size: clamp(1.25rem, 1.8vw, 1.8rem);
	line-height: 1.45;
}

.gl-section {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: clamp(2.5rem, 6vw, 7rem);
	padding: 6.5rem 0;
	border-top: 1px solid rgba(31, 42, 38, 0.18);
}

.gl-section h2 {
	font-size: clamp(2.5rem, 5.4vw, 6rem);
	line-height: .9;
	letter-spacing: -.06em;
	font-weight: 500;
	margin: 0;
}

.gl-section-text {
	max-width: 820px;
	font-size: clamp(1.08rem, 1.35vw, 1.35rem);
	line-height: 1.65;
}

.gl-section-text p {
	margin: 0 0 1.55rem;
}

.gl-emphasis {
	font-size: clamp(1.25rem, 1.75vw, 1.75rem);
	line-height: 1.45;
	margin-top: 2rem;
}

.gl-info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid rgba(31, 42, 38, 0.18);
	border-left: 1px solid rgba(31, 42, 38, 0.18);
	margin-top: 2.5rem;
}

.gl-info-item {
	padding: 1.5rem;
	border-right: 1px solid rgba(31, 42, 38, 0.18);
	border-bottom: 1px solid rgba(31, 42, 38, 0.18);
}

.gl-info-item strong {
	display: block;
	margin-bottom: .4rem;
}

/* link */
.gl-home-link,
.gl-link {
	display: inline-block;
	margin-top: 2rem;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: .25rem;
}

.gl-home-link::after,
.gl-link::after {
	content: " →";
}

/* MOBILE */
@media (max-width: 850px) {
	.gl-home,
		  .gl-page {
		padding: 3rem 0 6rem;
	}
	
	.gl-home-hero,
		  .gl-home-room,
		  .gl-title-block,
		  .gl-section {
		width: min(92vw, 720px);
	}
	
	.gl-home-hero,
		  .gl-home-room,
		  .gl-section {
		grid-template-columns: 1fr;
	}
	
	.gl-home-hero {
		min-height: auto;
		padding-bottom: 5rem;
	}
	
	.gl-home-hero img {
		max-height: 58vh;
	}
	
	.gl-home-room {
		padding: 5rem 0;
	}
	
	.gl-home-room-title,
		  .gl-page-title {
		font-size: clamp(4rem, 23vw, 8rem);
	}
	
	.gl-home-room-text {
		padding-top: 0;
	}
	
	.gl-full-hero {
		margin-bottom: 4.5rem;
	}
	
	.gl-full-hero img {
		height: 62vh;
	}
	
	.gl-title-block {
		margin-bottom: 5rem;
	}
	
	.gl-section {
		padding: 4.5rem 0;
	}
	
	.gl-info-grid {
		grid-template-columns: 1fr;
	}
}

/* GENIUSLOOCI - NOTE SUL CAMPO E ARTICOLI */
body.blog,
body.archive,
body.single-post {
	background: #f4efe7;
	color: #1f2a26;
}

/* struttura generale archivio articoli */
body.blog main,
body.archive main,
body.blog .site-main,
body.archive .site-main {
	width: min(94vw, 1500px);
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: 5rem 0 8rem;
	box-sizing: border-box;
}

/* titolo archivio */
body.blog .page-title,
body.archive .page-title,
body.blog h1,
body.archive h1 {
	font-size: clamp(4.5rem, 11vw, 11rem);
	line-height: .82;
	letter-spacing: -.08em;
	font-weight: 500;
	margin: 0 0 5rem;
}

/* singoli articoli nell'archivio */
body.blog article,
body.archive article,
body.blog .wp-block-post,
body.archive .wp-block-post {
	padding: 4.5rem 0;
	border-top: 1px solid rgba(31, 42, 38, 0.18);
}

/* titoli degli articoli nell'archivio */
body.blog article .entry-title,
body.archive article .entry-title,
body.blog .wp-block-post-title,
body.archive .wp-block-post-title {
	font-size: clamp(2.4rem, 5vw, 5.8rem);
	line-height: .92;
	letter-spacing: -.06em;
	font-weight: 500;
	margin: 0 0 1.5rem;
}

body.blog article .entry-title a,
body.archive article .entry-title a,
body.blog .wp-block-post-title a,
body.archive .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

/* testo anteprima articoli */
body.blog .entry-summary,
body.archive .entry-summary,
body.blog .wp-block-post-excerpt,
body.archive .wp-block-post-excerpt {
	max-width: 820px;
	font-size: clamp(1.08rem, 1.35vw, 1.35rem);
	line-height: 1.65;
}

/* link continua a leggere */
body.blog .more-link,
body.archive .more-link,
body.blog .wp-block-post-excerpt__more-link,
body.archive .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: 1.5rem;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: .25rem;
}

body.blog .more-link::after,
body.archive .more-link::after,
body.blog .wp-block-post-excerpt__more-link::after,
body.archive .wp-block-post-excerpt__more-link::after {
	content: " →";
}

/* immagini anteprima */
body.blog article img,
body.archive article img,
body.blog .wp-block-post img,
body.archive .wp-block-post img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 2rem;
}

/* PAGINA SINGOLO ARTICOLO */
body.single-post main,
body.single-post .site-main {
	width: min(92vw, 980px);
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: 5rem 0 8rem;
	box-sizing: border-box;
}

/* titolo articolo */
body.single-post .entry-title,
body.single-post h1 {
	font-size: clamp(3.8rem, 8vw, 8.5rem);
	line-height: .86;
	letter-spacing: -.075em;
	font-weight: 500;
	margin: 0 0 3rem;
}

/* metadati */
body.single-post .entry-meta,
body.single-post .post-meta,
body.single-post .wp-block-post-date {
	font-size: .95rem;
	opacity: .65;
	margin-bottom: 3rem;
}

/* contenuto articolo */
body.single-post .entry-content,
body.single-post .post-content {
	font-size: clamp(1.12rem, 1.35vw, 1.35rem);
	line-height: 1.75;
}

body.single-post .entry-content p,
body.single-post .post-content p {
	margin-bottom: 1.6rem;
}

/* sottotitoli negli articoli */
body.single-post .entry-content h2,
body.single-post .post-content h2 {
	font-size: clamp(2.2rem, 4.5vw, 4.8rem);
	line-height: .95;
	letter-spacing: -.055em;
	font-weight: 500;
	margin: 5rem 0 1.5rem;
}

body.single-post .entry-content h3,
body.single-post .post-content h3 {
	font-size: clamp(1.6rem, 2.8vw, 2.8rem);
	line-height: 1;
	letter-spacing: -.04em;
	font-weight: 500;
	margin: 3.5rem 0 1.2rem;
}

/* immagini dentro gli articoli */
body.single-post .entry-content img,
body.single-post .post-content img {
	width: 100%;
	height: auto;
	display: block;
	margin: 3rem 0;
}

/* immagine in evidenza, se presente */
body.single-post .post-thumbnail img,
body.single-post img.wp-post-image {
	width: 100vw;
	max-width: none;
	height: min(72vh, 720px);
	object-fit: cover;
	object-position: center center;
	display: block;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 5rem;
}

/* citazioni */
body.single-post blockquote {
	border-left: 1px solid rgba(31, 42, 38, 0.35);
	padding-left: 2rem;
	margin: 3rem 0;
	font-size: clamp(1.35rem, 2vw, 2rem);
	line-height: 1.45;
	font-style: italic;
}

/* link negli articoli */
body.single-post .entry-content a,
body.single-post .post-content a {
	color: inherit;
	text-underline-offset: .18em;
}

/* MOBILE */
@media (max-width: 850px) {
	body.blog main,
	  body.archive main,
	  body.blog .site-main,
	  body.archive .site-main,
	  body.single-post main,
	  body.single-post .site-main {
		width: min(92vw, 720px);
		padding: 3rem 0 6rem;
	}
	
	body.blog .page-title,
	  body.archive .page-title,
	  body.blog h1,
	  body.archive h1,
	  body.single-post .entry-title,
	  body.single-post h1 {
		font-size: clamp(3.8rem, 20vw, 7rem);
	}
	
	body.blog article,
	  body.archive article,
	  body.blog .wp-block-post,
	  body.archive .wp-block-post {
		padding: 3.5rem 0;
	}
	
	body.single-post .post-thumbnail img,
	  body.single-post img.wp-post-image {
		height: 58vh;
		margin-bottom: 3.5rem;
	}
}