/* CTA "Scopri tutte le novità": il Figma è senza letter-spacing */
body .g2-home-cta__link {
	letter-spacing: normal;
}

/* Hero generica e Storia: 900 px come il Figma (desktop) */
@media (min-width: 1280px) {
	body .g2-c-hero,
	body .g2-stpage-hero {
		min-height: 900px !important;
	}

	body .g2-home-hero__inner.g2-home-hero__inner {
		margin-top: 444px !important;
	}
}

/* Clienti: header sovrapposto, contenuti scuri sul beige */
body.page-id-1478.g2-header--absolute .g2-header__link {
	color: #423831;
}

body.page-id-1478.g2-header--absolute .g2-header__burger span {
	background-color: #423831;
}

body.page-id-1478.g2-header--absolute .g2-header__icon--user {
	background-color: #423831 !important;
}

body.page-id-1478.g2-header--absolute .bde-mini-cart-toggle__icon {
	background-color: #423831 !important;
}

body.page-id-1478.g2-header--absolute .g2-search-toggle {
	color: #423831;
}

body.page-id-1478.g2-header--absolute .g2-header__logo img {
	content: url('/wp-content/uploads/2026/10/grattoni-logo-header.png');
}

/* Clienti: intro compatta */
.g2-clienti-intro {
	padding-top: 188px;
	padding-bottom: 90px;
	background-color: #f2ebe0;
}

.g2-clienti-intro__title {
	margin: 13px 0 0;
	color: #352317;
	font: 600 44px/54px "Playfair Display", serif;
}

.g2-clienti-intro__lead {
	margin: 8px 0 0;
	color: #605146;
	font: 400 18px/28px "Lato", sans-serif;
}

.g2-clienti-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	color: #605146;
	font: 400 14px/24px "Lato", sans-serif;
}

.g2-clienti-crumbs a {
	color: #605146;
	text-decoration: none;
}

.g2-clienti-crumbs__current {
	color: #352317;
}

body.page-id-1478 .g2-clienti-wall-section {
	padding-top: 0;
}

@media (max-width: 1023px) {
	body.page-id-1478 {
		padding-top: 104px;
	}

	.g2-clienti-intro {
		padding-top: 45px;
		padding-bottom: 18px;
	}

	.g2-clienti-intro__title {
		margin-top: 18px;
		font-size: 29px;
		line-height: 38.66px;
	}

	.g2-clienti-crumbs {
		font-size: 12px;
		line-height: 22px;
	}
}

@media (max-width: 767px) {
	body.page-id-1478 {
		padding-top: 90px;
	}
}

/* Contract: distanza di 40 px tra le righe su telefono (Figma) */
@media (max-width: 767px) {
	body.page-id-1476 .g2-contract-rows article + article {
		margin-top: 40px;
	}

	body.page-id-1476 .g2-c-feature {
		margin-top: 70px;
	}
}

/* Shop e categoria prodotto: hero 900 come il Figma */
@media (min-width: 1280px) {
	body .g2-arch-hero {
		min-height: 900px !important;
	}
}

/* Shop: nessuno stacco extra dopo la griglia categorie */
@media (min-width: 1280px) {
	body.woocommerce-shop .g2-cats__grid {
		padding-bottom: 0;
	}
}

/* Prodotto: blocco materiali 796 come il Figma */
@media (min-width: 1280px) {
	body .g2-pdp__materials-media {
		min-height: 796px;
	}
}

/* Contract: 40 px tra righe e feature come il Figma */
@media (min-width: 1280px) {
	body.page-id-1476 .g2-c-feature {
		margin-top: 40px;
	}
}

/* Access-intro: testo allineato al contenitore anche oltre 1440 */
@media (min-width: 1441px) {
	body .g2-access-intro .g2-access-intro__content {
		left: calc(50% - 638px);
	}
}

/* Pagine statiche: la linea del menu aperto è disegnata dall'header,
   così non dipende dal pannello */
@media (min-width: 1024px) {
	body.g2-header--static .g2-header.is-menu-open {
		box-shadow: 0 1px 0 #786f69;
	}

}

/* Shop e categoria: hero mobile 856 come il Figma */
@media (max-width: 767px) {
	body .g2-arch-hero {
		min-height: 856px;
	}
}

/* Header e pannelli: l'header aperto è sempre 182, così il pannello non
   può finire sotto di lui */
@media (min-width: 1024px) {
	body .g2-header.is-menu-open,
	body.g2-search-active .g2-header {
		height: 182px !important;
	}
}

/* Fallback: se il pannello è aperto, l'header si chiude comunque a 182,
   anche se la classe is-menu-open non arriva dal JS */
@media (min-width: 1024px) {
	.g2-header:has(+ .g2-mega.is-open) {
		height: 182px !important;
	}

	body.g2-header--static .g2-header:has(+ .g2-mega.is-open) {
		margin-bottom: 28px;
	}
}

/* Shop: tile categorie con foto */
body.woocommerce-shop .g2-cats__tile {
	position: relative;
	background-color: #e6dbca;
}

body.woocommerce-shop .g2-cats__tile > img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: 50% 50%;
}

body.woocommerce-shop .g2-cats__label,
body.woocommerce-shop .g2-cats__label:hover {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 16px;
	color: #423831;
}

@media (max-width: 767px) {
	body.woocommerce-shop .g2-cats__grid {
		padding-top: 49px;
		gap: 16px;
	}

	body.woocommerce-shop .g2-cats__tile {
		aspect-ratio: 165 / 140;
		min-height: 0;
	}

	body.woocommerce-shop .g2-cats__label,
	body.woocommerce-shop .g2-cats__label:hover {
		align-items: flex-end;
		justify-content: center;
		padding: 0 0 14px;
	}

	body.woocommerce-shop .g2-cats__tile > img {
		bottom: 44px;
		height: calc(100% - 44px);
	}
}

/* Shop: immagini nei blocchi duo */
body.woocommerce-shop .g2-arch-duo__media > img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

/* Scheda prodotto: messaggi WooCommerce coerenti con carrello e checkout */
body.single-product .woocommerce-notices-wrapper {
	box-sizing: border-box;
	max-width: 1440px;
	margin: 0 auto;
	padding: 24px 82px 0;
}

body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error {
	margin: 0 0 16px;
	padding: 14px 20px;
	color: #605146;
	font: 400 15px/24px "Lato", sans-serif;
	background-color: transparent;
	border: 1px solid #d8cec6;
	border-radius: 6px;
}

body.single-product .woocommerce-message::before,
body.single-product .woocommerce-info::before,
body.single-product .woocommerce-error::before {
	display: none;
	content: none;
}

body.single-product .woocommerce-error {
	color: #7a3025;
	background-color: #f7e9e6;
	border-color: #e6c9c3;
}

body.single-product .woocommerce-message a,
body.single-product .woocommerce-info a {
	color: #423831;
	font-weight: 500;
	text-decoration: underline;
	text-transform: none;
}

/* Il pannello carrello conferma l'aggiunta: niente messaggio di successo */
body.single-product .woocommerce-message {
	display: none;
}

@media (max-width: 767px) {
	body.single-product .woocommerce-notices-wrapper {
		padding: 16px 24px 0;
	}
}
