/* =========================================================
   NUVOLACLEANING
   STILE CONTENUTO ARTICOLI
   Titoli, TOC, box, FAQ e pulsanti
   ========================================================= */
/* ---------------------------------------------------------
   H2 PRINCIPALI
   --------------------------------------------------------- */
body.single-post main article h2.wp-block-heading,
body.single-post .site-main article h2.wp-block-heading,
body.single-post .site-content article h2.wp-block-heading,
body.single-post .entry-content h2.wp-block-heading,
body.single-post .wp-block-post-content h2.wp-block-heading {
	color: #17324d !important;
	opacity: 1 !important;
	font-weight: 750 !important;
	font-size: clamp(1.65rem, 2.4vw, 2.15rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
	text-shadow: none !important;
	margin-top: 2.2em !important;
	margin-bottom: .7em !important;
}

/* ---------------------------------------------------------
   H3 SECONDARI
   --------------------------------------------------------- */
body.single-post main article h3.wp-block-heading,
body.single-post .site-main article h3.wp-block-heading,
body.single-post .site-content article h3.wp-block-heading,
body.single-post .entry-content h3.wp-block-heading,
body.single-post .wp-block-post-content h3.wp-block-heading {
	color: #29485f !important;
	opacity: 1 !important;
	font-weight: 700 !important;
	font-size: clamp(1.25rem, 1.8vw, 1.55rem) !important;
	line-height: 1.3 !important;
	letter-spacing: -.01em !important;
	text-transform: none !important;
	text-shadow: none !important;
	margin-top: 1.7em !important;
	margin-bottom: .55em !important;
}

/* ---------------------------------------------------------
   H4 EVENTUALI
   --------------------------------------------------------- */
body.single-post main article h4.wp-block-heading,
body.single-post .site-main article h4.wp-block-heading,
body.single-post .site-content article h4.wp-block-heading,
body.single-post .entry-content h4.wp-block-heading,
body.single-post .wp-block-post-content h4.wp-block-heading {
	color: #3b596e !important;
	opacity: 1 !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
}

/* ---------------------------------------------------------
   TABLE OF CONTENTS
   Richiede la classe article-toc già presente nel Gutenberg
   --------------------------------------------------------- */
body.single-post main article .article-toc,
body.single-post .site-main article .article-toc,
body.single-post .site-content article .article-toc,
body.single-post .entry-content .article-toc,
body.single-post .wp-block-post-content .article-toc {
	background: #f3f7f9 !important;
	border: 1px solid #dbe5eb !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 24px rgba(23, 50, 77, 0.06) !important;
	opacity: 1 !important;
}

/* Titolo della TOC */
body.single-post main article .article-toc h2,
body.single-post .site-main article .article-toc h2,
body.single-post .site-content article .article-toc h2,
body.single-post .entry-content .article-toc h2,
body.single-post .wp-block-post-content .article-toc h2 {
	color: #17324d !important;
	font-size: 1.55rem !important;
	font-weight: 750 !important;
	margin-top: 0 !important;
	margin-bottom: .8em !important;
	text-transform: none !important;
}

/* Lista e link della TOC */
body.single-post main article .article-toc li,
body.single-post .site-main article .article-toc li,
body.single-post .site-content article .article-toc li,
body.single-post .entry-content .article-toc li,
body.single-post .wp-block-post-content .article-toc li {
	color: #425b6b !important;
	line-height: 1.55 !important;
	margin-bottom: .35em !important;
}

body.single-post main article .article-toc a,
body.single-post .site-main article .article-toc a,
body.single-post .site-content article .article-toc a,
body.single-post .entry-content .article-toc a,
body.single-post .wp-block-post-content .article-toc a {
	color: #315f7d !important;
	font-weight: 600 !important;
	text-decoration-line: underline !important;
	text-decoration-color: #9bb2c1 !important;
	text-underline-offset: 3px !important;
}

body.single-post main article .article-toc a:hover,
body.single-post .site-main article .article-toc a:hover,
body.single-post .site-content article .article-toc a:hover,
body.single-post .entry-content .article-toc a:hover,
body.single-post .wp-block-post-content .article-toc a:hover {
	color: #17324d !important;
	text-decoration-color: #17324d !important;
}

/* ---------------------------------------------------------
   BOX DEI SERVIZI E BOX INFORMATIVI
   --------------------------------------------------------- */
body.single-post main article .wp-block-group.has-border-color,
body.single-post .site-main article .wp-block-group.has-border-color,
body.single-post .site-content article .wp-block-group.has-border-color,
body.single-post .entry-content .wp-block-group.has-border-color,
body.single-post .wp-block-post-content .wp-block-group.has-border-color {
	background: #ffffff !important;
	border-color: #dbe5eb !important;
	box-shadow: 0 6px 18px rgba(23, 50, 77, 0.05) !important;
}

/* Box con sfondo grigio chiaro */
body.single-post main article .wp-block-group.has-background,
body.single-post .site-main article .wp-block-group.has-background,
body.single-post .site-content article .wp-block-group.has-background,
body.single-post .entry-content .wp-block-group.has-background,
body.single-post .wp-block-post-content .wp-block-group.has-background {
	color: #263f50 !important;
}

/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */
body.single-post main article details.wp-block-details,
body.single-post .site-main article details.wp-block-details,
body.single-post .site-content article details.wp-block-details,
body.single-post .entry-content details.wp-block-details,
body.single-post .wp-block-post-content details.wp-block-details {
	background: #ffffff !important;
	border: 1px solid #dbe5eb !important;
	border-radius: 8px !important;
	padding: 0 !important;
	margin-bottom: 12px !important;
	overflow: hidden !important;
}

/* Titolo domanda FAQ */
body.single-post main article details.wp-block-details summary,
body.single-post .site-main article details.wp-block-details summary,
body.single-post .site-content article details.wp-block-details summary,
body.single-post .entry-content details.wp-block-details summary,
body.single-post .wp-block-post-content details.wp-block-details summary {
	color: #17324d !important;
	background: #f5f8fa !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	cursor: pointer !important;
	padding: 16px 18px !important;
}

/* Domanda FAQ aperta */
body.single-post main article details.wp-block-details[open] summary,
body.single-post .site-main article details.wp-block-details[open] summary,
body.single-post .site-content article details.wp-block-details[open] summary,
body.single-post .entry-content details.wp-block-details[open] summary,
body.single-post .wp-block-post-content details.wp-block-details[open] summary {
	background: #edf3f6 !important;
	border-bottom: 1px solid #dbe5eb !important;
}

/* Risposta FAQ */
body.single-post main article details.wp-block-details p,
body.single-post .site-main article details.wp-block-details p,
body.single-post .site-content article details.wp-block-details p,
body.single-post .entry-content details.wp-block-details p,
body.single-post .wp-block-post-content details.wp-block-details p {
	color: #364f60 !important;
	line-height: 1.65 !important;
	padding: 16px 18px !important;
	margin: 0 !important;
}

/* ---------------------------------------------------------
   PULSANTI
   --------------------------------------------------------- */
body.single-post main article .wp-block-button__link,
body.single-post .site-main article .wp-block-button__link,
body.single-post .site-content article .wp-block-button__link,
body.single-post .entry-content .wp-block-button__link,
body.single-post .wp-block-post-content .wp-block-button__link {
	border-radius: 7px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	padding: 13px 22px !important;
	text-decoration: none !important;
	box-shadow: 0 5px 14px rgba(23, 50, 77, 0.12) !important;
	transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

body.single-post main article .wp-block-button__link:hover,
body.single-post .site-main article .wp-block-button__link:hover,
body.single-post .site-content article .wp-block-button__link:hover,
body.single-post .entry-content .wp-block-button__link:hover,
body.single-post .wp-block-post-content .wp-block-button__link:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 8px 18px rgba(23, 50, 77, 0.16) !important;
	opacity: .94 !important;
}

/* Pulsanti outline */
body.single-post main article .wp-block-button.is-style-outline .wp-block-button__link,
body.single-post .site-main article .wp-block-button.is-style-outline .wp-block-button__link,
body.single-post .site-content article .wp-block-button.is-style-outline .wp-block-button__link,
body.single-post .entry-content .wp-block-button.is-style-outline .wp-block-button__link,
body.single-post .wp-block-post-content .wp-block-button.is-style-outline .wp-block-button__link {
	color: #17324d !important;
	background: #ffffff !important;
	border: 2px solid #17324d !important;
}

/* ---------------------------------------------------------
   LINK NEL CONTENUTO
   --------------------------------------------------------- */
body.single-post main article p a,
body.single-post main article li a,
body.single-post .site-main article p a,
body.single-post .site-main article li a,
body.single-post .site-content article p a,
body.single-post .site-content article li a,
body.single-post .entry-content p a,
body.single-post .entry-content li a,
body.single-post .wp-block-post-content p a,
body.single-post .wp-block-post-content li a {
	color: #315f7d;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media screen and (max-width: 700px) {
	body.single-post main article h2.wp-block-heading,
			  body.single-post .site-main article h2.wp-block-heading,
			  body.single-post .site-content article h2.wp-block-heading,
			  body.single-post .entry-content h2.wp-block-heading,
			  body.single-post .wp-block-post-content h2.wp-block-heading {
		font-size: 1.55rem !important;
		line-height: 1.25 !important;
		margin-top: 1.8em !important;
	}
	
	body.single-post main article h3.wp-block-heading,
			  body.single-post .site-main article h3.wp-block-heading,
			  body.single-post .site-content article h3.wp-block-heading,
			  body.single-post .entry-content h3.wp-block-heading,
			  body.single-post .wp-block-post-content h3.wp-block-heading {
		font-size: 1.25rem !important;
	}
	
	body.single-post main article .article-toc,
			  body.single-post .site-main article .article-toc,
			  body.single-post .site-content article .article-toc,
			  body.single-post .entry-content .article-toc,
			  body.single-post .wp-block-post-content .article-toc {
		padding: 20px !important;
	}
	
	body.single-post main article .wp-block-buttons,
			  body.single-post .site-main article .wp-block-buttons,
			  body.single-post .site-content article .wp-block-buttons,
			  body.single-post .entry-content .wp-block-buttons,
			  body.single-post .wp-block-post-content .wp-block-buttons {
		gap: 10px !important;
	}
	
	body.single-post main article .wp-block-button,
			  body.single-post .site-main article .wp-block-button,
			  body.single-post .site-content article .wp-block-button,
			  body.single-post .entry-content .wp-block-button,
			  body.single-post .wp-block-post-content .wp-block-button {
		width: 100% !important;
	}
	
	body.single-post main article .wp-block-button__link,
			  body.single-post .site-main article .wp-block-button__link,
			  body.single-post .site-content article .wp-block-button__link,
			  body.single-post .entry-content .wp-block-button__link,
			  body.single-post .wp-block-post-content .wp-block-button__link {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}
}

/* NuvolaCleaning - sticky mobile CTA solo sull'articolo principale */
.nc-footer-mobile-cta {
	display: none !important;
}

@media only screen and (max-width: 782px) {
	body:has(#request-assessment) {
		padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
	}
	
	body:has(#request-assessment) .nc-footer-mobile-cta {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 9999999 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
		background-color: rgba(7, 25, 43, 0.98) !important;
		border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
		box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.28) !important;
		box-sizing: border-box !important;
	}
	
	body:has(#request-assessment) .nc-footer-mobile-cta a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 52px !important;
		margin: 0 !important;
		padding: 10px 8px !important;
		border-radius: 8px !important;
		box-sizing: border-box !important;
		font-family: inherit !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		text-align: center !important;
		text-decoration: none !important;
	}
	
	body:has(#request-assessment) .nc-footer-mobile-cta__whatsapp {
		color: #ffffff !important;
		background-color: #128c4a !important;
		border: 1px solid #128c4a !important;
	}
	
	body:has(#request-assessment) .nc-footer-mobile-cta__phone {
		color: #07192b !important;
		background-color: #ffffff !important;
		border: 1px solid #ffffff !important;
	}
}