/*
 * Furniture — overrides minimi non esprimibili in theme.json.
 * La maggior parte degli stili è gestita da theme.json.
 */

/* I @font-face sono dichiarati in theme.json (settings.typography.fontFamilies[].fontFace):
   WordPress li stampa inline e li carica anche nell'editor. */

/* Tipografia: rendering ottimale e selezione personalizzata */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "ss01", "cv11";
	font-optical-sizing: auto;
}

body,
button,
input,
select,
textarea {
	letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

p,
li {
	text-wrap: pretty;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

::selection {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Riduzione del movimento: disattiva transizioni e animazioni decorative */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Focus elegante e visibile */
:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Liste senza bullet — spaziatura coerente */
.is-style-none {
	list-style: none;
	padding-left: 0;
}

.is-style-none li + li {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--wp--preset--color--surface);
}

/* Home: lista servizi con icone */
.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none {
	display: grid;
	gap: 0.95rem;
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li {
	position: relative;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.2rem 0 0.2rem 3.65rem;
	display: flex;
	align-items: center;
	border-top-color: color-mix(in srgb, var(--wp--preset--color--subtle) 72%, transparent);
	color: var(--wp--preset--color--contrast);
	line-height: 1.45;
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li + li,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li + li {
	padding-top: 0.95rem;
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li::before,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 2.45rem;
	height: 2.45rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 16%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--base) 58%, transparent);
	transform: translateY(-50%);
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li::after,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li::after {
	content: "";
	position: absolute;
	left: 0.69rem;
	top: 50%;
	width: 1.08rem;
	height: 1.08rem;
	background: var(--wp--preset--color--contrast);
	transform: translateY(-50%);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(1)::after,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(1)::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 20h16v-2H4v2Zm2-4h12V6H6v10Zm2-2V8h8v6H8Zm-2-9h12l2-2H4l2 2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 20h16v-2H4v2Zm2-4h12V6H6v10Zm2-2V8h8v6H8Zm-2-9h12l2-2H4l2 2Z'/%3E%3C/svg%3E");
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(2)::after,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(2)::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 21h18v-2H5V3H3v18Zm4-4h4V9H7v8Zm6 0h4V5h-4v12Zm6 0h2v-6h-2v6Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 21h18v-2H5V3H3v18Zm4-4h4V9H7v8Zm6 0h4V5h-4v12Zm6 0h2v-6h-2v6Z'/%3E%3C/svg%3E");
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(3)::after,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(3)::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 2h10l4 4v16H6V2Zm2 2v16h10V8h-4V4H8Zm2 7h6v2h-6v-2Zm0 4h6v2h-6v-2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 2h10l4 4v16H6V2Zm2 2v16h10V8h-4V4H8Zm2 7h6v2h-6v-2Zm0 4h6v2h-6v-2Z'/%3E%3C/svg%3E");
}

.home .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(4)::after,
.front-page .wp-block-group.alignfull.has-background .wp-block-list.is-style-none li:nth-child(4)::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h12v9h2.2l2-3H22v5h-2a3 3 0 0 1-6 0H9a3 3 0 0 1-6 0H1V8a2 2 0 0 1 2-2Zm0 2v7.2A3 3 0 0 1 8.8 17H14V8H3Zm13 1v4h1.1l1.3-2H20V9h-4ZM6 18.5A1.5 1.5 0 1 0 6 15.5a1.5 1.5 0 0 0 0 3Zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h12v9h2.2l2-3H22v5h-2a3 3 0 0 1-6 0H9a3 3 0 0 1-6 0H1V8a2 2 0 0 1 2-2Zm0 2v7.2A3 3 0 0 1 8.8 17H14V8H3Zm13 1v4h1.1l1.3-2H20V9h-4ZM6 18.5A1.5 1.5 0 1 0 6 15.5a1.5 1.5 0 0 0 0 3Zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E");
}

/* Link nel testo: sottolineatura discreta, altrimenti indistinguibili dal testo */
.wp-block-post-content p a:not(.wp-block-button__link),
.wp-block-post-content li a {
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--wp--preset--color--accent) 55%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	transition: text-decoration-color 0.2s ease, color 0.2s ease;
}

.wp-block-post-content p a:not(.wp-block-button__link):hover,
.wp-block-post-content li a:hover {
	text-decoration-color: currentColor;
}

/* Bottoni: transizioni morbide */
.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
}

/* Bottoni outline: hover inverso pulito */
.wp-block-button.is-style-outline .wp-block-button__link {
	border-radius: 999px;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	border-color: var(--wp--preset--color--contrast) !important;
}

/* Home: pagine filtrate per categoria */
.home-category-pages {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.home-category-pages .wp-block-post-template {
	gap: clamp(1rem, 2vw, 1.35rem);
}

.home-category-pages .wp-block-post {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 48%, transparent);
	border-radius: 8px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 18px 46px color-mix(in srgb, var(--wp--preset--color--contrast) 7%, transparent);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.home-category-pages .wp-block-post::after {
	content: "";
	position: absolute;
	inset: auto 1rem 0;
	height: 1px;
	background: color-mix(in srgb, var(--wp--preset--color--accent) 56%, transparent);
	opacity: 0;
	transform: scaleX(0.62);
	transform-origin: left center;
	transition: opacity 0.25s ease, transform 0.25s ease;
	z-index: 2;
}

.home-category-pages .wp-block-post:hover,
.home-category-pages .wp-block-post:focus-within {
	border-color: color-mix(in srgb, var(--wp--preset--color--contrast) 22%, var(--wp--preset--color--subtle));
	box-shadow: 0 24px 60px color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	transform: translateY(-4px);
}

.home-category-pages .wp-block-post:hover::after,
.home-category-pages .wp-block-post:focus-within::after {
	opacity: 1;
	transform: scaleX(1);
}

.home-category-pages__image {
	width: 100%;
	height: clamp(190px, 15vw, 235px);
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 72%, var(--wp--preset--color--base));
}

.home-category-pages__image a,
.home-category-pages__image img,
.home-category-pages__placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.home-category-pages__image img {
	object-fit: cover;
	filter: saturate(0.94) contrast(1.02);
	transform: scale(1.01);
	transition: filter 0.45s ease, transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.home-category-pages .wp-block-post:hover .home-category-pages__image img,
.home-category-pages .wp-block-post:focus-within .home-category-pages__image img {
	filter: saturate(1.04) contrast(1.05);
	transform: scale(1.065);
}

.home-category-pages__placeholder {
	position: relative;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0) 44%),
		linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--surface) 88%, var(--wp--preset--color--base)), color-mix(in srgb, var(--wp--preset--color--accent) 13%, var(--wp--preset--color--surface)));
}

.home-category-pages__placeholder::before,
.home-category-pages__placeholder::after {
	content: "";
	position: absolute;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 28%, transparent);
}

.home-category-pages__placeholder::before {
	inset: 1rem;
}

.home-category-pages__placeholder::after {
	left: 50%;
	top: 50%;
	width: 3.5rem;
	height: 2.4rem;
	transform: translate(-50%, -50%);
	background: color-mix(in srgb, var(--wp--preset--color--base) 34%, transparent);
}

.home-category-pages .wp-block-post-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	font-weight: 650;
	line-height: 1.22;
}

.home-category-pages .wp-block-post-title a {
	min-height: 5.35rem;
	box-sizing: border-box;
	padding: 1.15rem 4rem 1.2rem 1.15rem;
	display: flex;
	align-items: center;
	position: relative;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: color 0.25s ease, background-color 0.25s ease;
}

.home-category-pages .wp-block-post-title a::before {
	content: "";
	position: absolute;
	left: 1.15rem;
	right: 4rem;
	top: 0;
	height: 1px;
	background: color-mix(in srgb, var(--wp--preset--color--subtle) 54%, transparent);
}

.home-category-pages .wp-block-post-title a::after {
	content: "";
	position: absolute;
	right: 1.15rem;
	top: 50%;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 58%, transparent);
	border-radius: 50%;
	background:
		linear-gradient(45deg, transparent 48%, currentColor 49% 52%, transparent 53%) 48% 50% / 0.62rem 0.62rem no-repeat,
		var(--wp--preset--color--base);
	opacity: 0.82;
	transform: translateY(-50%);
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.home-category-pages .wp-block-post-title a:hover,
.home-category-pages .wp-block-post-title a:focus-visible {
	color: var(--wp--preset--color--contrast);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 34%, transparent);
}

.home-category-pages .wp-block-post-title a:hover::after,
.home-category-pages .wp-block-post-title a:focus-visible::after {
	border-color: var(--wp--preset--color--contrast);
	background:
		linear-gradient(45deg, transparent 48%, var(--wp--preset--color--base) 49% 52%, transparent 53%) 48% 50% / 0.62rem 0.62rem no-repeat,
		var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	transform: translate(3px, -50%);
}

@media (max-width: 600px) {
	.home-category-pages .wp-block-post-template {
		gap: 1rem;
	}

	.home-category-pages__image {
		height: clamp(180px, 54vw, 230px);
	}

	.home-category-pages .wp-block-post-title a {
		min-height: 4.75rem;
		padding: 1rem 3.65rem 1rem 1rem;
	}

	.home-category-pages .wp-block-post-title a::before {
		left: 1rem;
		right: 3.65rem;
	}

	.home-category-pages .wp-block-post-title a::after {
		right: 1rem;
		width: 2rem;
		height: 2rem;
	}
}

/* Immagini: hover sottile + bordi puliti */
.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

.wp-block-post-featured-image a,
.wp-block-image a {
	display: block;
	overflow: hidden;
}

.wp-block-post-featured-image a img,
.wp-block-image a img {
	transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.wp-block-post-featured-image a:hover img,
.wp-block-image a:hover img {
	transform: scale(1.04);
}

/* News: listing editoriale */
.news-index {
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
	padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}

.wp-site-blocks > main.news-index {
	padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}

.news-index__header {
	position: relative;
	margin-top: clamp(1.75rem, 4vw, 4rem);
	margin-bottom: clamp(2rem, 5vw, 4.5rem);
	padding-top: clamp(1.25rem, 3vw, 2rem);
}

.news-index__header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(4rem, 12vw, 9rem);
	height: 1px;
	background: var(--wp--preset--color--contrast);
}

.arredamento-index .news-index__header::before,
.arredamento-category .news-index__header::before {
	content: none;
}

.arredamento-index .news-index__header,
.arredamento-category .news-index__header {
	margin-top: clamp(0.75rem, 2vw, 1.5rem);
	padding-top: 0;
}

.news-index__header .wp-block-heading {
	max-width: 11ch;
	margin: 0;
	font-size: clamp(3rem, 8vw, 7rem);
	line-height: 0.86;
}

.news-index__header p:not(.eyebrow) {
	max-width: 42rem;
	margin-top: 0.9rem;
	line-height: 1.65;
}

.news-index__query {
	margin-bottom: clamp(4rem, 8vw, 7rem);
}

.news-index__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	padding: 0;
	list-style: none;
}

.news-index .wp-block-post {
	display: flex;
	min-width: 0;
	margin: 0;
}

.news-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100%;
	overflow: hidden;
	background: transparent;
	text-align: left;
	transition: transform 0.22s ease;
}

.news-card:hover,
.news-card:focus-within {
	transform: translateY(-2px);
}

.news-card .wp-block-post-featured-image {
	width: 100%;
	margin: 0 0 1rem;
	overflow: hidden;
	border-radius: 8px;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 72%, var(--wp--preset--color--base));
}

.news-card .wp-block-post-featured-image a {
	border-radius: 8px;
}

.news-card .news-card__media--placeholder a,
.news-card .news-card__media--placeholder > span {
	position: relative;
	display: block;
	min-height: 17rem;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 42%),
		color-mix(in srgb, var(--wp--preset--color--surface) 82%, var(--wp--preset--color--base));
}

.news-card__placeholder-mark {
	position: absolute;
	inset: 1.25rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 24%, transparent);
}

.news-card__placeholder-mark::before,
.news-card__placeholder-mark::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.news-card__placeholder-mark::before {
	width: 4.2rem;
	height: 3rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 34%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--base) 42%, transparent);
}

.news-card__placeholder-mark::after {
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--muted) 32%, transparent);
	box-shadow: -1.2rem 1rem 0 -0.42rem color-mix(in srgb, var(--wp--preset--color--muted) 28%, transparent),
		1.35rem 0.95rem 0 -0.36rem color-mix(in srgb, var(--wp--preset--color--muted) 22%, transparent);
}

.news-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	min-height: 14.5rem;
	object-fit: cover;
}

.news-card .wp-block-post-date {
	width: fit-content;
	margin: 0 0 0.75rem !important;
	padding: 0;
	color: var(--wp--preset--color--muted) !important;
	font-size: 0.72rem !important;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.news-card > .wp-block-post-date:first-child {
	margin-top: 0;
}

.news-card .wp-block-post-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.5rem, 2vw, 1.95rem) !important;
	font-weight: 600;
	line-height: 0.98;
	text-align: left !important;
}

.news-index .wp-block-post-title,
.news-index .wp-block-post-title a {
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
}

.news-card .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.news-card .wp-block-post-title a:hover,
.news-card .wp-block-post-title a:focus-visible {
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, var(--wp--preset--color--accent));
}

.news-card .wp-block-post-excerpt {
	margin: 0.85rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem !important;
	line-height: 1.55;
}

.news-card .wp-block-post-excerpt__more-text {
	margin-top: 1.05rem;
}

.news-card .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
	text-decoration: none;
}

.news-card .wp-block-post-excerpt__more-link:hover,
.news-card .wp-block-post-excerpt__more-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.24em;
}

.news-index .wp-block-query-pagination {
	gap: 1rem;
	align-items: center;
	padding-top: clamp(0.5rem, 2vw, 1.5rem);
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 70%, transparent);
}

.news-index .wp-block-query-pagination a,
.news-index .page-numbers {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.news-index .page-numbers.current {
	font-weight: 700;
}

@media (max-width: 900px) {
	.news-index__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 901px) and (max-width: 1180px) {
	.news-index__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.news-index {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.news-index__grid {
		grid-template-columns: 1fr !important;
	}

	.news-index__header {
		margin-bottom: 2rem;
	}

	.news-card .wp-block-post-featured-image img {
		min-height: 14rem;
	}

	.news-card .news-card__media--placeholder a,
	.news-card .news-card__media--placeholder > span {
		min-height: 14rem;
	}
}

/* Eyebrow / occhiello — stile coerente quando si usa la classe */
p.eyebrow,
.eyebrow {
	font-size: 0.75rem !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--muted) !important;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
}

.eyebrow::before {
	content: "";
	display: inline-block;
	width: 1.75rem;
	height: 1px;
	background: currentColor;
	flex-shrink: 0;
	opacity: 0.6;
}

.eyebrow.has-text-align-center {
	justify-content: center;
}

/* Top-level layout: nessun gap, sticky footer via flex */
html, body {
	min-height: 100vh;
}

/* Previene scrollbar orizzontale generata dai blocchi alignfull (100vw + scrollbar) */
html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks {
	--wp--style--block-gap: 0;
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	padding-top: var(--furniture-header-height, 88px);
}

body.has-transparent-header .wp-site-blocks {
	padding-top: 0;
}

.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.wp-site-blocks main .wp-block-group + .wp-block-group,
.wp-block-post-content .wp-block-group + .wp-block-group {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wp-site-blocks > main {
	flex: 1 0 auto;
	padding-top: 0;
	padding-bottom: 0 !important;
}

.home .wp-site-blocks > main {
	padding-bottom: 0 !important;
}

.home .home-showroom-blocks {
	padding-bottom: 0 !important;
}

.home .home-showroom-blocks__media {
	min-height: clamp(16rem, 26vw, 24rem);
}

.wp-site-blocks > .site-footer,
.wp-site-blocks > footer {
	flex-shrink: 0;
}

/* ============================================================
   Site header — fixed, glass effect, always visible on scroll
   ============================================================ */
.site-header {
	--furniture-logo-height: calc(var(--furniture-header-height) - 8px);
	box-sizing: border-box;
	height: var(--furniture-header-height, 88px);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 110;
	background: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
	backdrop-filter: saturate(1.4) blur(12px);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid var(--wp--preset--color--surface);
	transition: box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

body.has-transparent-header:not(.is-scrolled):not(.has-mobile-menu-open):not(.has-megamenu-open) .site-header {
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom-color: transparent;
	box-shadow: none;
}

body.has-transparent-header:not(.is-scrolled):not(.has-mobile-menu-open):not(.has-megamenu-open) .site-header__brand,
body.has-transparent-header:not(.is-scrolled):not(.has-mobile-menu-open):not(.has-megamenu-open) .site-nav__link,
body.has-transparent-header:not(.is-scrolled):not(.has-mobile-menu-open):not(.has-megamenu-open) .site-nav .menu-item > a,
body.has-transparent-header:not(.is-scrolled):not(.has-mobile-menu-open):not(.has-megamenu-open) .site-header__burger {
	color: #fff;
}

body.has-transparent-header:not(.is-scrolled):not(.has-mobile-menu-open):not(.has-megamenu-open) .site-header .site-nav--primary .sub-menu .menu-item > a,
body.has-transparent-header.has-megamenu-open .site-header .site-nav--primary .sub-menu .menu-item > a {
	color: var(--wp--preset--color--contrast);
}

.site-header__inner {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0 auto;
	padding: 0 clamp(1.25rem, 2.4vw, 2.5rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
}

/*
 * Fascia desktop intermedia:
 * il logo esteso e la navigazione possono comprimersi troppo prima
 * dell'attivazione del menu mobile. Riduciamo progressivamente ingombri
 * e spaziature così l'header resta interamente nel viewport.
 */
@media (min-width: 721px) and (max-width: 1320px) {
	.site-header__inner {
		padding-left: clamp(1rem, 2vw, 1.5rem);
		padding-right: clamp(1rem, 2vw, 1.5rem);
		gap: 1.25rem;
	}

	.site-header__brand--image .custom-logo {
		max-width: 265px;
	}

	.site-nav__list {
		gap: 1.1rem;
	}
}

@media (min-width: 721px) and (max-width: 1080px) {
	.site-header__brand--image .custom-logo {
		max-width: 240px;
	}

	.site-nav__list {
		gap: 0.9rem;
	}

	.site-nav__link,
	.site-nav .menu-item a {
		font-size: 0.98rem;
	}
}

.site-header__brand {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.site-header__brand--text {
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.site-header__brand--text:hover {
	color: var(--wp--preset--color--accent);
}

/* Custom logo image: si adatta in altezza, larghezza fluida */
.site-header__brand--image {
	height: 100%;
	line-height: 0;
}

.site-header__brand--image .custom-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.site-header__brand--image .custom-logo {
	display: block;
	width: auto;
	height: var(--furniture-logo-height);
	max-height: var(--furniture-logo-height);
	max-width: min(315px, calc(100vw - 7rem));
	object-fit: contain;
	transition: opacity 0.2s ease;
}

.site-header__brand--image:hover .custom-logo {
	opacity: 0.7;
}

.site-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.45rem;
	align-items: center;
}

.site-nav .menu-item {
	position: relative;
}

.site-nav .sub-menu {
	position: absolute;
	top: calc(100% + 0.7rem);
	left: -1.1rem;
	z-index: 120;
	min-width: 13rem;
	margin: 0;
	padding: 0.6rem 0;
	list-style: none;
	background: var(--wp--preset--color--base);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 56%, transparent);
	border-radius: 8px;
	box-shadow: 0 22px 52px -30px rgba(22, 21, 19, 0.38);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}

.site-nav .menu-item.is-megamenu-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}

.site-nav .sub-menu .menu-item a {
	display: block;
	padding: 0.55rem 1rem;
	color: var(--wp--preset--color--contrast);
	white-space: nowrap;
}

@media (min-width: 721px) {
	.site-header .site-nav--primary .menu-item {
		position: static;
	}

	.site-header .site-nav--primary .menu-item-has-children > .sub-menu {
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		box-sizing: border-box;
		min-width: 0;
		padding: 1.1rem var(--wp--style--root--padding-right, var(--wp--preset--spacing--40)) 1.15rem var(--wp--style--root--padding-left, var(--wp--preset--spacing--40));
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(11rem, 1fr);
		grid-template-rows: repeat(3, minmax(0, auto));
		gap: 0.75rem;
		background: color-mix(in srgb, var(--wp--preset--color--base) 97%, transparent);
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: 0 24px 54px -38px rgba(22, 21, 19, 0.46);
		transform: translateY(-6px);
	}

	.site-header .site-nav--primary .menu-item-has-children.is-megamenu-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.site-header .site-nav--primary .menu-item-has-children:hover > a {
		color: var(--wp--preset--color--accent);
	}

	.site-header .site-nav--primary .sub-menu .menu-item a {
		min-height: 3.75rem;
		box-sizing: border-box;
		padding: 0.9rem 2.65rem 0.9rem 0;
		display: flex;
		align-items: center;
		color: var(--wp--preset--color--contrast);
		border: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 58%, transparent);
		border-radius: 0;
		background: transparent;
		white-space: normal;
		transition: color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
	}

	.site-header .site-nav--primary .sub-menu .menu-item a::before {
		content: "";
		position: absolute;
		right: 1rem;
		top: 50%;
		width: 0.42rem;
		height: 0.42rem;
		border-top: 1.5px solid currentColor;
		border-right: 1.5px solid currentColor;
		opacity: 0.42;
		transform: translateY(-50%) rotate(45deg);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.site-header .site-nav--primary .sub-menu .menu-item a::after {
		display: none;
	}

	.site-header .site-nav--primary .sub-menu .menu-item a:hover,
	.site-header .site-nav--primary .sub-menu .menu-item a:focus-visible {
		color: var(--wp--preset--color--contrast);
		transform: translateX(3px);
	}

	.site-header .site-nav--primary .sub-menu .menu-item a:hover::before,
	.site-header .site-nav--primary .sub-menu .menu-item a:focus-visible::before {
		opacity: 0.75;
		transform: translate(2px, -50%) rotate(45deg);
	}
}

.site-nav__list--vertical {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
}

.site-nav__link,
.site-nav .menu-item a {
	font-size: 1.08rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	position: relative;
	transition: color 0.2s ease;
}

.site-nav .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
}

.site-nav .menu-item-has-children > a::before {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-1px) rotate(45deg);
	transition: transform 0.2s ease;
	order: 2;
}

.site-nav .menu-item-has-children.is-megamenu-open > a::before {
	transform: translateY(1px) rotate(225deg);
}

.site-nav__link::after,
.site-nav .menu-item a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.site-nav__link:hover::after,
.site-nav .menu-item a:hover::after {
	transform: scaleX(1);
}

body.is-scrolled .site-header {
	box-shadow: 0 1px 0 0 var(--wp--preset--color--surface), 0 12px 32px -16px rgba(22, 21, 19, 0.12);
}

.site-megamenu-backdrop {
	position: fixed;
	top: var(--furniture-megamenu-backdrop-top, 0);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 105;
	background: rgba(0, 0, 0, 0.28);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.22s ease, visibility 0s linear 0.22s;
}

body.has-megamenu-open .site-megamenu-backdrop {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

@supports not (backdrop-filter: blur(1px)) {
	.site-header {
		background: var(--wp--preset--color--base);
	}
}

/* ============================================================
   Site footer — hard-coded
   ============================================================ */
.site-footer {
	background: var(--wp--preset--color--contrast);
	color: #fff;
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--30);
}

.site-footer__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1.25rem, 2.4vw, 2.5rem);
	padding-right: clamp(1.25rem, 2.4vw, 2.5rem);
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr;
	gap: var(--wp--preset--spacing--40);
}

.site-footer__col {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.site-footer .site-footer__col.has-global-padding {
	padding-left: 0;
	padding-right: 0;
}

.site-footer__col.is-layout-constrained > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.site-footer .site-nav__list--vertical {
	gap: 0.35rem;
}

.site-footer__brand {
	margin: 0;
	color: #fff;
}

.site-footer__brand--text {
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.site-footer__brand--image {
	line-height: 0;
}

.site-footer__brand--image .custom-logo-link {
	display: inline-flex;
}

.site-footer__brand--image .custom-logo {
	display: block;
	width: auto;
	height: var(--furniture-footer-logo-height, auto);
	max-height: none;
	max-width: none;
	object-fit: contain;
	opacity: 0.85;
	transition: opacity 0.2s ease;
}

.site-footer__brand--image:hover .custom-logo {
	opacity: 1;
}

.site-footer__tagline {
	font-size: 0.8125rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
}

.site-footer__address {
	font-size: 0.8125rem;
	line-height: 1.7;
	font-style: normal;
	color: #fff;
}

.site-footer__address a {
	color: inherit;
	text-decoration: none;
}

.site-footer__address a:hover {
	color: rgba(255, 255, 255, 0.72);
}

.site-footer .site-nav__list--vertical a,
.site-footer .site-nav--footer a,
.site-footer a {
	color: #fff;
}

.site-footer .site-nav__list--vertical a:hover,
.site-footer .site-nav__list--vertical a:focus-visible,
.site-footer .site-nav--footer a:hover,
.site-footer .site-nav--footer a:focus-visible,
.site-footer a:hover,
.site-footer a:focus-visible {
	color: rgba(255, 255, 255, 0.72);
}

.site-footer__rule {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: var(--wp--preset--spacing--40) auto 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
	opacity: 1;
	background: transparent;
	height: 1px;
}

.site-footer__bottom {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 1.25rem auto 0;
	padding-left: clamp(1.25rem, 2.4vw, 2.5rem);
	padding-right: clamp(1.25rem, 2.4vw, 2.5rem);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.68);
}

.site-footer__bottom p {
	margin: 0;
}

@media (max-width: 720px) {
	.site-footer__inner {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 721px) and (max-width: 1320px) {
	.site-footer__inner,
	.site-footer__bottom {
		padding-left: clamp(1rem, 2vw, 1.5rem);
		padding-right: clamp(1rem, 2vw, 1.5rem);
	}
}

/* ============================================================
   Burger button + overlay menu (mobile)
   ============================================================ */
.site-header__burger {
	display: none;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	color: var(--wp--preset--color--contrast);
	flex-shrink: 0;
	z-index: 110;
	transition: transform 0.25s ease, color 0.2s ease;
}

.site-header__burger:hover {
	color: var(--wp--preset--color--accent);
}

.site-header__burger:active {
	transform: scale(0.94);
}

.site-header__burger-icon {
	position: relative;
	display: block;
	width: 28px;
	height: 18px;
}

.site-header__burger-bar {
	position: absolute;
	left: 0;
	height: 2.5px;
	background: currentColor;
	border-radius: 2px;
	transition: width 0.3s cubic-bezier(0.65, 0, 0.35, 1),
				transform 0.35s cubic-bezier(0.65, 0, 0.35, 1),
				top 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}

.site-header__burger-bar:nth-child(1) {
	top: 3px;
	width: 100%;
}

.site-header__burger-bar:nth-child(2) {
	top: 13px;
	width: 65%;
}

.site-header__burger:hover .site-header__burger-bar:nth-child(2) {
	width: 100%;
}

.site-header__burger[aria-expanded="true"] .site-header__burger-bar {
	width: 100%;
	top: 8px;
}

.site-header__burger[aria-expanded="true"] .site-header__burger-bar:nth-child(1) {
	transform: rotate(45deg);
}

.site-header__burger[aria-expanded="true"] .site-header__burger-bar:nth-child(2) {
	transform: rotate(-45deg);
}

.site-mobile-menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	box-sizing: border-box;
	width: 80%;
	z-index: 105;
	padding: calc(var(--furniture-header-height, 88px) + 1.25rem) var(--wp--style--root--padding-right, var(--wp--preset--spacing--40)) var(--wp--preset--spacing--60, 4rem) var(--wp--style--root--padding-left, var(--wp--preset--spacing--40));
	background: var(--wp--preset--color--base);
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(100%, 0, 0);
	transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.38s;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	will-change: transform;
}

.site-mobile-menu-backdrop {
	position: fixed;
	inset: 0;
	z-index: 104;
	background: rgba(0, 0, 0, 0.32);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

body.has-mobile-menu-open .site-mobile-menu-backdrop {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.site-mobile-menu[hidden] {
	display: none;
}

.site-mobile-menu.is-open {
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s;
}

.site-mobile-menu__inner {
	box-sizing: border-box;
	min-height: 100%;
	padding: calc(var(--wp--preset--spacing--60, 4rem) + 60px) var(--wp--style--root--padding-right, var(--wp--preset--spacing--40)) var(--wp--preset--spacing--60, 4rem) var(--wp--style--root--padding-left, var(--wp--preset--spacing--40));
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.site-mobile-menu .site-nav__list,
.site-mobile-menu .site-mobile-menu__list,
.site-mobile-menu .menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-mobile-menu .menu-item {
	list-style: none;
}

.site-mobile-menu .menu-item-has-children {
	width: 100%;
}

.site-mobile-menu .menu-item-has-children > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.site-mobile-menu .menu-item-has-children > a::before {
	content: none;
	display: none;
}

.site-mobile-menu .sub-menu {
	position: static;
	visibility: hidden;
	opacity: 0;
	transform: none;
	box-shadow: none;
	border: 0;
	background: transparent;
	padding: 0 0 0 1.25rem;
	margin: 0;
	list-style: none;
	min-width: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.28s ease, opacity 0.2s ease, visibility 0s linear 0.28s, padding-top 0.28s ease;
}

.site-mobile-menu .menu-item-has-children.is-submenu-open > .sub-menu {
	visibility: visible;
	opacity: 1;
	max-height: 14rem;
	padding-top: 0.75rem;
	transition: max-height 0.28s ease, opacity 0.2s ease, visibility 0s linear 0s, padding-top 0.28s ease;
}

.site-mobile-menu .sub-menu .menu-item a {
	font-size: 1.5rem;
	padding: 0;
	white-space: normal;
}

.site-mobile-menu .site-nav__link,
.site-mobile-menu .menu-item a {
	font-size: 2.15rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
	display: inline-block;
	transition: color 0.2s ease;
}

.site-mobile-menu .menu-item.menu-item-has-children > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, 18rem);
	gap: 1rem;
}

.site-mobile-menu .site-nav__link::after,
.site-mobile-menu .menu-item a::after {
	display: none;
}

.site-mobile-menu .menu-item-has-children > a::after {
	content: "+";
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1;
	order: 2;
	transform: none;
}

.site-mobile-menu .menu-item-has-children.is-submenu-open > a::after {
	content: "−";
	transform: none;
}

.site-mobile-menu .site-nav__link:hover,
.site-mobile-menu .menu-item a:hover {
	color: var(--wp--preset--color--accent);
}

body.has-mobile-menu-open {
	overflow: hidden;
}

body.has-mobile-menu-open .site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: var(--wp--preset--color--base);
	border-bottom-color: var(--wp--preset--color--surface);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

@media (max-width: 720px) {
	.site-header__brand--image .custom-logo {
		max-width: calc(100vw - 6.5rem);
	}

	.site-header__burger {
		display: inline-flex;
	}

	.site-header .site-nav--primary {
		display: none;
	}
}

@media (min-width: 721px) {
	.site-mobile-menu {
		display: none !important;
	}
}

/* Navigation: link hover sottile */
.wp-block-navigation .wp-block-navigation-item__content {
	transition: color 0.2s ease;
	position: relative;
}

.wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover::after {
	transform: scaleX(1);
}

.site-header .wp-block-navigation {
	margin-left: auto;
}

.site-header .wp-block-navigation .wp-block-navigation__container {
	gap: 1.45rem;
	align-items: center;
	flex-wrap: nowrap;
}

/* Mega menu compatibile con il Navigation block standard */
@media (min-width: 721px) {
	.site-header .wp-block-navigation {
		position: static;
	}

	.site-header .wp-block-navigation .wp-block-navigation__container,
	.site-header .wp-block-navigation .wp-block-page-list {
		position: static;
	}

	.site-header .wp-block-navigation .wp-block-navigation-submenu {
		position: static;
	}

	.site-header .wp-block-navigation .wp-block-navigation__submenu-container {
		position: fixed !important;
		top: var(--furniture-megamenu-top, 0) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100vw !important;
		box-sizing: border-box;
		margin-left: 0 !important;
		padding: 1.1rem var(--wp--style--root--padding-right, var(--wp--preset--spacing--40)) 1.15rem var(--wp--style--root--padding-left, var(--wp--preset--spacing--40));
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(11rem, 1fr);
		grid-template-rows: repeat(3, minmax(0, auto));
		gap: 0.75rem;
		background: color-mix(in srgb, var(--wp--preset--color--base) 97%, transparent);
		border: 0;
		border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 56%, transparent);
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 56%, transparent);
		box-shadow: 0 24px 54px -38px rgba(22, 21, 19, 0.46);
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateY(-6px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
	}

	.site-header .wp-block-navigation .wp-block-navigation-submenu.is-megamenu-open > .wp-block-navigation__submenu-container {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item__content {
		min-height: 3.75rem;
		box-sizing: border-box;
		padding: 0.9rem 2.65rem 0.9rem 0;
		display: flex;
		align-items: center;
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 58%, transparent);
	}

	.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item__content::before {
		content: "";
		position: absolute;
		right: 1rem;
		top: 50%;
		width: 0.42rem;
		height: 0.42rem;
		border-top: 1.5px solid currentColor;
		border-right: 1.5px solid currentColor;
		opacity: 0.42;
		transform: translateY(-50%) rotate(45deg);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item__content:hover {
		transform: translateX(3px);
	}

	.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item__content:hover::before {
		opacity: 0.75;
		transform: translate(2px, -50%) rotate(45deg);
	}
}

/* Servizi card — bordo top che si rinforza all'hover */
.service-card {
	border-top: 1px solid var(--wp--preset--color--contrast);
	padding-top: 1.5rem;
	transition: border-color 0.3s ease;
}

.service-card:hover {
	border-top-color: var(--wp--preset--color--accent);
}

.service-card .service-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 500;
	margin-top: 0.5rem;
	transition: gap 0.3s ease;
}

.service-card .service-link:hover {
	gap: 0.7rem;
}

/* Quote / testimonial — separatori decorativi */
.wp-block-quote {
	border: 0;
	padding: 0;
	position: relative;
}

.wp-block-quote::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 1px;
	background: var(--wp--preset--color--subtle);
	margin: 0 auto 2rem;
}

.wp-block-quote cite {
	font-style: normal;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.9375rem;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--muted);
	display: block;
	margin-top: 1.5rem;
}

/* Body paragraph con classe lead — più leggibile sui paragrafi grandi */
.is-lead {
	font-family: var(--wp--preset--font-family--inter);
	color: var(--wp--preset--color--muted);
	line-height: 1.55;
	max-width: 36em;
}

/* Hero immagine — trattamento più cinematografico */
.hero-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}

/* Home negozio: hero piu' leggibile su desktop e mobile */
.home-furniture-hero .eyebrow {
	color: #fff !important;
	opacity: 0.86;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.35);
}

.home-furniture-hero h1 {
	max-width: 8.8em;
	font-size: clamp(2.4rem, 4.7vw, 4.25rem) !important;
	line-height: 1 !important;
}

.home-furniture-hero p:not(.eyebrow) {
	max-width: 42rem;
}

.home-furniture-slider {
	margin-top: 0 !important;
}

.home-furniture-slider .furniture-slides__slide {
	padding-left: clamp(1.5rem, 4vw, 4rem);
	padding-right: clamp(1.5rem, 4vw, 4rem);
}

.home-furniture-slider .furniture-slides__content {
	gap: 1.35rem;
}

.home-furniture-slider .furniture-slides__title {
	font-size: clamp(2.4rem, 4.7vw, 4.25rem);
	line-height: 1.04;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	letter-spacing: 0;
	text-wrap: balance;
}

.home-furniture-slider .furniture-slides__text {
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	font-weight: 500;
	line-height: 1.45;
}

.home-furniture-slider .furniture-slides__button {
	box-sizing: border-box;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 1rem 2rem;
}

.home-furniture-slider .furniture-slides__button:hover {
	background: #000;
	color: #fff;
}

@media (max-width: 720px) {
	.home-furniture-hero h1 {
		font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
		line-height: 1.04 !important;
	}

	.home-furniture-slider .furniture-slides__slide {
		padding-top: 9rem;
	}

	.home-furniture-slider .furniture-slides__title {
		font-size: clamp(2.25rem, 11vw, 3.25rem);
		line-height: 1.04;
	}

	.home-furniture-slider .furniture-slides__button {
		width: min(100%, 19rem);
		text-align: center;
	}
}

/* ============================================================
   Hero Slider — wrapper Swiper.js
   ============================================================ */
.hero-slider {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* Le Cover diventano .swiper-slide via JS — preservano il loro layout interno */
.hero-slider .swiper-slide {
	display: block;
	height: auto;
}

/* Pagination dots */
.hero-slider .swiper-pagination {
	bottom: 1.75rem !important;
	display: flex;
	justify-content: center;
	gap: 0.6rem;
	pointer-events: none;
}

.hero-slider .swiper-pagination-bullet {
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.45);
	opacity: 1;
	margin: 0 !important;
	transition: background 0.3s ease, width 0.3s ease;
	pointer-events: auto;
}

.hero-slider .swiper-pagination-bullet:hover {
	background: rgba(255, 255, 255, 0.75);
}

.hero-slider .swiper-pagination-bullet-active {
	background: #fff;
	width: 44px;
}

/* Navigation arrows */
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
	width: 48px;
	height: 48px;
	color: #fff;
	opacity: 0.7;
	transition: opacity 0.25s ease, transform 0.25s ease;
	margin-top: -24px;
}

.hero-slider .swiper-button-prev:hover,
.hero-slider .swiper-button-next:hover {
	opacity: 1;
}

.hero-slider .swiper-button-prev:hover {
	transform: translateX(-3px);
}

.hero-slider .swiper-button-next:hover {
	transform: translateX(3px);
}

.hero-slider .swiper-button-prev::after,
.hero-slider .swiper-button-next::after {
	font-size: 22px;
	font-weight: 300;
}

/* Fade-in del contenuto interno della slide attiva */
.hero-slider .swiper-slide .wp-block-cover__inner-container {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.hero-slider .swiper-slide-active .wp-block-cover__inner-container {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.25s;
}

/* Lieve Ken Burns sull'immagine attiva */
.hero-slider .swiper-slide .wp-block-cover__image-background {
	transition: transform 7s ease-out;
	transform: scale(1);
}

.hero-slider .swiper-slide-active .wp-block-cover__image-background {
	transform: scale(1.06);
}

@media (max-width: 720px) {
	.hero-slider .swiper-button-prev,
	.hero-slider .swiper-button-next {
		display: none;
	}

	.hero-slider .swiper-pagination {
		bottom: 1rem !important;
	}
}

/* Separator alpha più discreto */
.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--subtle);
	opacity: 0.5;
}

/* Heading display utility — quando uso il serif per accento */
.has-serif-accent {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
}

/* Lead paragraph: max-width per leggibilità migliore */
.is-lead {
	color: var(--wp--preset--color--muted) !important;
	line-height: 1.55;
}

/* ============================================================
   Allineamento contenuto al wideSize.
   Override delle regole layout-constrained iniettate da WP che
   limiterebbero il main / post-content a valori non coerenti col tema.
   ============================================================ */
.wp-site-blocks > main.wp-block-group {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.post-type-archive-furniture_comp .site-header,
.tax-furniture_room .site-header,
.single-furniture_comp .site-header {
	border-bottom: 0;
}

.home .wp-site-blocks > main.wp-block-group,
.front-page .wp-site-blocks > main.wp-block-group {
	padding-top: 0 !important;
}

.wp-site-blocks > main.wp-block-group > .wp-block-post-title {
	width: min(100%, 12.5em);
	margin-top: 0 !important;
	margin-bottom: clamp(1rem, 2.4vw, 1.6rem) !important;
	font-size: clamp(2.5rem, 5.8vw, 4.25rem);
	color: var(--wp--preset--color--contrast);
}

.wp-site-blocks > main.wp-block-group > .wp-block-post-title::after {
	content: "";
	display: block;
	width: 4.25rem;
	height: 1px;
	margin-top: clamp(0.95rem, 2vw, 1.35rem);
	background: var(--wp--preset--color--accent);
	opacity: 0.55;
}

.wp-block-post-content > h1.wp-block-heading,
.wp-block-post-content > .wp-block-heading:is(h1),
main.wp-block-group h1.wp-block-heading,
main.wp-block-group h1.wp-block-query-title {
	margin-top: 0 !important;
	margin-bottom: clamp(1rem, 2.4vw, 1.6rem) !important;
	font-size: clamp(2.5rem, 5.8vw, 4.25rem);
	color: var(--wp--preset--color--contrast);
}

.wp-block-post-content > h1.wp-block-heading::after,
.wp-block-post-content > .wp-block-heading:is(h1)::after,
main.wp-block-group h1.wp-block-heading::after,
main.wp-block-group h1.wp-block-query-title::after {
	content: "";
	display: block;
	width: 4.25rem;
	height: 1px;
	margin-top: clamp(0.95rem, 2vw, 1.35rem);
	background: currentColor;
	opacity: 0.38;
}

.wp-block-post-content :is(h2, h3, h4, h5, h6).wp-block-heading {
	margin-top: clamp(1rem, 1.4vw, 1.25rem);
}

.wp-block-post-content h3.wp-block-heading {
	margin-top: clamp(1.75rem, 2.8vw, 2.5rem);
	margin-bottom: 0.65rem;
	font-size: clamp(1.36rem, 1.8vw, 1.6rem) !important;
}

.wp-block-post-content h4.wp-block-heading {
	margin-top: clamp(1.5rem, 2.4vw, 2.15rem);
	margin-bottom: 0.55rem;
	font-size: clamp(1.2rem, 1.5vw, 1.36rem) !important;
}

.wp-block-post-content h5.wp-block-heading {
	margin-bottom: 0.45rem;
	font-size: clamp(1.08rem, 1.25vw, 1.18rem) !important;
}

.wp-block-post-content h6.wp-block-heading {
	margin-bottom: 0.4rem;
	font-size: clamp(1rem, 1.12vw, 1.04rem) !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

h1.wp-block-heading.has-text-align-center::after {
	margin-left: auto;
	margin-right: auto;
}

h1.wp-block-heading.has-text-align-right::after {
	margin-left: auto;
	margin-right: 0;
}

h1.wp-block-heading.has-text-align-left::after {
	margin-left: 0;
	margin-right: auto;
}

.furniture-breadcrumbs {
	width: calc(100vw - (2 * clamp(1.25rem, 2.4vw, 2.5rem)));
	max-width: none;
	margin:
		clamp(1.1rem, 2vw, 1.6rem)
		calc(50% - 50vw + clamp(1.25rem, 2.4vw, 2.5rem))
		clamp(0.75rem, 1.5vw, 1rem) !important;
	padding-left: 0.5rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
}

@media (min-width: 721px) and (max-width: 1320px) {
	.furniture-breadcrumbs {
		width: calc(100vw - (2 * clamp(1rem, 2vw, 1.5rem)));
		margin-left: calc(50% - 50vw + clamp(1rem, 2vw, 1.5rem));
		margin-right: calc(50% - 50vw + clamp(1rem, 2vw, 1.5rem));
	}
}

.furniture-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.furniture-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.furniture-breadcrumbs__item + .furniture-breadcrumbs__item::before {
	content: "/";
	color: color-mix(in srgb, var(--wp--preset--color--muted) 38%, transparent);
	font-weight: 400;
}

.furniture-breadcrumbs__link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.furniture-breadcrumbs__link:hover {
	color: var(--wp--preset--color--contrast);
}

.furniture-breadcrumbs__current {
	color: var(--wp--preset--color--contrast);
}

.furniture-breadcrumbs__link--home {
	display: inline-flex;
	align-items: center;
}

.furniture-breadcrumbs__home-icon {
	display: block;
	width: 0.95rem;
	height: 0.95rem;
	position: relative;
	top: -0.06em;
}

.wp-block-post-content .wp-block-button__link,
.wp-block-post-content .wp-element-button {
	font-weight: 600;
}

.business-highlights {
	margin-top: clamp(2.25rem, 5vw, 4rem) !important;
	padding-top: clamp(1.4rem, 3vw, 2rem);
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 70%, transparent);
}

.business-highlights .wp-block-columns {
	gap: clamp(1rem, 2.5vw, 2rem);
}

.business-highlights .wp-block-column {
	padding-top: 1.15rem;
	border-top: 1px solid var(--wp--preset--color--contrast);
}

.business-highlights h2,
.business-highlights h3 {
	margin: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
}

.business-highlights p {
	margin-top: 0.55rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

.category-cta {
	margin-top: clamp(2rem, 4vw, 3.25rem) !important;
	padding: clamp(1.2rem, 3vw, 1.8rem) 0 0;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 60%, transparent);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.category-cta p {
	max-width: 46rem;
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.55;
}

.category-cta .wp-block-buttons {
	margin: 0;
	flex: 0 0 auto;
}

@media (max-width: 781px) {
	.business-highlights .wp-block-columns {
		gap: 1.35rem;
	}

	.category-cta {
		display: block;
	}

	.category-cta .wp-block-buttons {
		margin-top: 1rem;
	}

}

.wp-block-post-content.is-layout-constrained > .wp-block-image,
.wp-block-post-content.is-layout-constrained > figure.wp-block-image {
	margin-top: clamp(2rem, 4vw, 3.5rem);
}

.wp-block-post-content.is-layout-constrained > .wp-block-image img,
.wp-block-post-content.is-layout-constrained > figure.wp-block-image img {
	border-radius: 8px;
	box-shadow: 0 24px 70px color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

/* Layout editor:
   - nessuna classe: larghezza standard WordPress
   - alignwide: stessa larghezza del contenuto header
   - alignfull: pieno viewport */
.wp-site-blocks main .alignwide,
.wp-block-post-content > .alignwide {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1272px);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--wp--style--root--padding-left, var(--wp--preset--spacing--40));
	padding-right: var(--wp--style--root--padding-right, var(--wp--preset--spacing--40));
}

.wp-site-blocks main .alignfull,
.wp-block-post-content > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* ============================================================
   Contact Form 7 — pagina Contatti
   ============================================================ */
.wp-block-post-content .wpcf7 {
	box-sizing: border-box;
	width: min(100%, 760px);
	max-width: 100%;
	margin-top: var(--wp--preset--spacing--50);
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.wp-block-post-content .wpcf7 form {
	display: grid;
	gap: 1.05rem;
	margin: 0;
}

.wp-block-post-content .wpcf7 p {
	margin: 0;
}

.wp-block-post-content .wpcf7 label {
	display: grid;
	gap: 0.45rem;
	color: var(--wp--preset--color--contrast);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-transform: uppercase;
}

.wp-block-post-content .wpcf7-form-control-wrap {
	display: block;
}

.wp-block-post-content .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-content .wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--subtle) 72%, transparent);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 1rem;
	line-height: 1.45;
	padding: 0.9rem 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.wp-block-post-content .wpcf7 textarea {
	min-height: 150px;
	resize: vertical;
}

.wp-block-post-content .wpcf7 input:not([type="submit"]):not([type="checkbox"]):focus,
.wp-block-post-content .wpcf7 textarea:focus {
	border-color: var(--wp--preset--color--contrast);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--contrast) 9%, transparent);
	outline: none;
}

.wp-block-post-content .wpcf7-acceptance {
	display: block;
	margin-top: 0.2rem;
}

.wp-block-post-content .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.55;
	text-transform: none;
}

.wp-block-post-content .wpcf7 input[type="checkbox"] {
	width: 1.05rem;
	height: 1.05rem;
	margin-top: 0.2rem;
	accent-color: var(--wp--preset--color--contrast);
	flex: 0 0 auto;
}

.wp-block-post-content .wpcf7-submit {
	justify-self: start;
	margin-top: 0.3rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1;
	padding: 1rem 2rem;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.wp-block-post-content .wpcf7-submit:hover {
	background: var(--wp--preset--color--accent);
	transform: translateY(-1px);
}

.wp-block-post-content .wpcf7-submit:disabled {
	cursor: progress;
	opacity: 0.72;
	transform: none;
}

.wp-block-post-content .wpcf7-not-valid-tip {
	color: #8d312f;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0;
	margin-top: 0.35rem;
	text-transform: none;
}

.wp-block-post-content .wpcf7 form .wpcf7-response-output {
	margin: 0.35rem 0 0;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wp--preset--color--subtle);
	border-radius: 6px;
	color: var(--wp--preset--color--contrast);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.wp-block-post-content .wpcf7 form.sent .wpcf7-response-output {
	border-color: #5f7f5c;
	background: color-mix(in srgb, #5f7f5c 10%, transparent);
}

.wp-block-post-content .wpcf7 form.invalid .wpcf7-response-output,
.wp-block-post-content .wpcf7 form.unaccepted .wpcf7-response-output,
.wp-block-post-content .wpcf7 form.spam .wpcf7-response-output {
	border-color: #a46748;
	background: color-mix(in srgb, #a46748 10%, transparent);
}

@media (max-width: 600px) {
	.wp-site-blocks > main.wp-block-group {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wp-site-blocks > main.wp-block-group > .wp-block-post-title {
		font-size: clamp(2.35rem, 12vw, 3.25rem);
	}

	.wp-block-post-content .wpcf7 {
		margin-top: var(--wp--preset--spacing--40);
		padding: 0;
		width: 100%;
	}

	.wp-block-post-content .wpcf7 form {
		gap: 0.9rem;
	}

	.wp-block-post-content .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
	.wp-block-post-content .wpcf7 textarea {
		padding: 0.8rem 0.85rem;
	}

	.wp-block-post-content .wpcf7 textarea {
		min-height: 135px;
	}

	.wp-block-post-content .wpcf7-acceptance label {
		gap: 0.55rem;
		font-size: 0.8125rem;
	}

	.wp-block-post-content .wpcf7-submit {
		width: 100%;
	}
}

/* ============================================================
   Pagina 404
   ============================================================ */
.page-404 {
	display: flex;
	align-items: center;
	min-height: calc(100vh - 60px - 320px); /* viewport - header - footer approx */
}

.page-404 .wp-block-columns {
	width: 100%;
}

.page-404__illustration {
	margin: 0;
	width: 100%;
}

.page-404__svg {
	width: 100%;
	height: auto;
	display: block;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

.page-404__svg .sun-pulse,
.page-404__svg circle {
	transition: opacity 0.6s ease;
}

.page-404__illustration:hover .page-404__svg circle {
	opacity: 1;
}

.page-404__caption {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--muted);
	margin-top: 0.85rem;
	text-align: right;
	letter-spacing: 0.005em;
}

/* Form di ricerca 404 — input pill */
.search-404 .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--subtle);
	border-radius: 999px;
	padding: 0.35rem 0.35rem 0.35rem 1.25rem;
	background: var(--wp--preset--color--base);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	gap: 0.5rem;
}

.search-404 .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--contrast);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

.search-404 .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: 0.9375rem;
	padding: 0.65rem 0;
	outline: none;
}

.search-404 .wp-block-search__button {
	border-radius: 999px;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border: 0;
	padding: 0.7rem 1.5rem;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.005em;
	cursor: pointer;
	transition: background-color 0.25s ease;
}

.search-404 .wp-block-search__button:hover {
	background: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	.page-404 {
		min-height: 0;
	}

	.page-404__svg {
		max-width: 360px;
	}
}

body.has-transparent-header .wp-site-blocks > main.wp-block-group {
	padding-top: 0 !important;
}

.wp-site-blocks > main.wp-block-group.news-index {
	padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}
