/*
Theme Name: Huolto Luoma
Theme URI: https://huoltoluoma.datavest.fi/
Author: DataVest
Description: Huolto Luoman kevyt Gutenberg-lohkoteema.
Version: 1.0.4
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: huolto-luoma
*/

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: clip;
}

.wp-site-blocks {
	padding-right: 0;
	padding-left: 0;
}

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

.hl-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(10, 10, 10, 0.94) !important;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.admin-bar .hl-header {
	top: 32px;
}

.hl-brand-name a,
.hl-header .wp-block-navigation-item__content {
	text-decoration: none;
}

.hl-header .wp-block-navigation-item__content {
	transition: color 160ms ease;
}

.hl-header .wp-block-navigation-item__content:hover,
.hl-header .wp-block-navigation-item__content:focus {
	color: #f2b90d !important;
}

.hl-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #0a0a0a !important;
	color: #ffffff !important;
	padding: 28px;
}

.hl-hero {
	min-height: clamp(630px, 82vh, 900px);
}

.hl-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.7) 43%, rgba(0, 0, 0, 0.25) 74%, rgba(0, 0, 0, 0.38) 100%) !important;
	opacity: 1 !important;
}

.hl-eyebrow {
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.hl-hero h1 {
	max-width: 880px;
	text-wrap: balance;
}

.hl-hero-copy {
	max-width: 670px;
}

.hl-button .wp-block-button__link,
.wpcf7-submit {
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.hl-button .wp-block-button__link:hover,
.hl-button .wp-block-button__link:focus,
.wpcf7-submit:hover,
.wpcf7-submit:focus {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(242, 185, 13, 0.24);
}

.hl-button-outline .wp-block-button__link:hover,
.hl-button-outline .wp-block-button__link:focus {
	background: #ffffff !important;
	color: #0a0a0a !important;
}

.hl-stat-row {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.hl-card,
.hl-step {
	height: 100%;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.hl-card:hover,
.hl-card:focus-within {
	transform: translateY(-5px);
	border-color: #f2b90d !important;
	box-shadow: 0 20px 48px rgba(11, 11, 11, 0.1);
}

.hl-card-number {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
}

.hl-accent-rule {
	width: 64px !important;
	height: 4px !important;
	margin-left: 0 !important;
	border: 0;
	background: #f2b90d;
}

.hl-map-card {
	overflow: hidden;
	border: 1px solid #ded8cc;
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(11, 11, 11, 0.14);
}

.hl-map,
.hl-map iframe {
	display: block;
	width: 100%;
	min-height: 480px;
}

.hl-map iframe {
	border: 0;
}

.hl-contact-section {
	position: relative;
}

.hl-contact-section::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	content: "";
	background: linear-gradient(90deg, transparent, #f2b90d, transparent);
}

.hl-form-panel {
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.32);
}

.hl-form label {
	display: block;
	font-size: 0.91rem;
	font-weight: 700;
	line-height: 1.4;
}

.hl-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.hl-form select,
.hl-form textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 13px 14px;
	border: 1px solid #c9c9c9;
	border-radius: 4px;
	background: #ffffff;
	color: #151515;
	font: inherit;
}

.hl-form input:focus,
.hl-form select:focus,
.hl-form textarea:focus {
	border-color: #c78d00;
	outline: 3px solid rgba(242, 185, 13, 0.24);
	outline-offset: 1px;
}

.hl-form textarea {
	min-height: 150px;
	resize: vertical;
}

.hl-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.hl-form-field-full {
	grid-column: 1 / -1;
}

.hl-form .wpcf7-list-item {
	margin: 0 20px 0 0;
}

.hl-form .wpcf7-acceptance .wpcf7-list-item {
	display: block;
	margin: 0;
	font-weight: 400;
}

.hl-form .wpcf7-acceptance input {
	width: 18px;
	height: 18px;
	margin: 2px 8px 0 0;
	vertical-align: top;
	accent-color: #c78d00;
}

.hl-form .wpcf7-submit {
	min-width: 190px;
	padding: 14px 24px;
	border: 0;
	border-radius: 4px;
	background: #f2b90d;
	color: #0a0a0a;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.hl-form .wpcf7-not-valid-tip {
	margin-top: 6px;
	color: #9f1d24;
	font-size: 0.85rem;
}

.hl-form .wpcf7-response-output {
	margin: 20px 0 0 !important;
	padding: 12px 14px !important;
	border-radius: 4px;
}

.hl-required-note {
	color: #5b5b5b;
	font-size: 0.86rem;
}

.hl-footer a {
	color: #f6f1e7;
}

.hl-footer a:hover,
.hl-footer a:focus {
	color: #f2b90d;
}

@media (max-width: 1000px) {
	.hl-header-cta {
		display: none !important;
	}
}

@media (max-width: 781px) {
	.admin-bar .hl-header {
		top: 46px;
	}

	.hl-hero {
		min-height: 700px;
	}

	.hl-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.84) 0%, rgba(0, 0, 0, 0.78) 58%, rgba(0, 0, 0, 0.55) 100%) !important;
	}

	.hl-form-grid {
		grid-template-columns: 1fr;
	}

	.hl-form-field-full {
		grid-column: auto;
	}

	.hl-map,
	.hl-map iframe {
		height: 360px;
		min-height: 360px;
	}
}

@media (max-width: 600px) {
	.hl-brand-name {
		font-size: 1.05rem !important;
	}

	.hl-hero h1 {
		font-size: clamp(2.45rem, 12vw, 4rem) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
