:root {
	color-scheme: light;
}

body {
	text-wrap: pretty;
}

.wp-site-blocks {
	overflow-x: clip;
}

/* Header */
.wp-site-header,
.hill-site-header {
	position: sticky;
	top: 0;
	z-index: 30;
	backdrop-filter: blur(14px);
	background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
	box-shadow: 0 1px 0 rgba(23, 33, 38, 0.06);
}

/* Improved focus states for accessibility */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Cover block improvements for homepage hero */
.wp-block-cover {
	position: relative;
}

/* Image placeholders - add subtle border so empty images are visible */
.wp-block-image img[src=""],
.wp-block-image img:not([src]),
figure.wp-block-image:has(img[src=""]) {
	display: block;
	min-height: 300px;
	background: var(--wp--preset--color--contrast-lighter);
	border: 2px dashed var(--wp--preset--color--border-primary);
	border-radius: var(--wp--custom--border--radius--small);
}

.wp-block-image img[src=""]::after,
.wp-block-image img:not([src])::after {
	content: "Image placeholder - upload photo in WordPress Media Library";
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 2rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-secondary);
	text-align: center;
}

/* Service cards - clean minimal style */
.wp-block-group.has-base-background-color {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-group.has-base-background-color:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(23, 33, 38, 0.08);
}

/* Responsive adjustments */
@media (max-width: 960px) {
	.wp-site-blocks {
		padding-inline: var(--wp--preset--spacing--40);
	}
	
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}
	
	.wp-block-cover {
		min-height: 400px !important;
	}
}

@media (max-width: 640px) {
	.wp-block-cover {
		min-height: 300px !important;
	}
	
	.wp-block-button {
		width: 100%;
	}
	
	.wp-block-button .wp-block-button__link {
		width: 100%;
	}
}

/* Form improvements for contact page */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	padding: 0.75rem 1rem;
	border: 1px solid var(--wp--preset--color--border-primary);
	border-radius: var(--wp--custom--border--radius--small);
	background: var(--wp--preset--color--base);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	transition: border-color 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(45, 98, 82, 0.1);
}

textarea {
	min-height: 120px;
	resize: vertical;
}

/* Blog post grid spacing */
.wp-block-post-template {
	gap: var(--wp--preset--spacing--50);
}

/* Ensure consistent spacing */
.wp-block-group {
	--wp--style--block-gap: var(--wp--preset--spacing--50);
}
