*,
*::before,
*::after {
	box-sizing: border-box;
}

:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.skip-link {
	position: absolute;
	top: -100%;
	left: 0.75rem;
	z-index: 100000;
	padding: 0.75rem 1.5rem;
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #221d00);
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.skip-link:focus-visible {
	top: 0.75rem;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Kill the root-level block-gap WP core adds between the header template
   part and #main — header should sit flush against the page content. */
:where(.wp-site-blocks) > #main {
	margin-block-start: 0;
}

.lmc-boxed {
	padding-right: 1.5rem;
	padding-left: 1.5rem;
}

.lmc-section-y-sm {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

/* Header: logo left, "Torna al sito" button right */

.lmc-header-row {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	gap: 0.75rem;
}

.lmc-logo-mark {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
}

.lmc-logo-image {
	height: 2.8rem;
	width: auto;
}

@media (max-width: 600px) {
	.lmc-logo-image {
		height: 2rem;
	}

	.lmc-header-row .wp-block-button__link {
		padding-left: 1rem;
		padding-right: 1rem;
		font-size: 0.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
