/*
Theme Name: Amark
Theme URI: https://amark.se
Author: Amark
Description: A mobile-first block theme for Amark utemiljö & trädgård.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.0.0
Text Domain: amark
*/

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.admin-bar .amark-header {
	top: 46px;
}

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

a,
button,
input,
textarea,
select {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease,
		transform 180ms ease, box-shadow 180ms ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--wp--preset--color--coral);
	outline-offset: 4px;
}

.amark-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: color-mix(in srgb, var(--wp--preset--color--white) 92%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--forest) 12%, transparent);
	backdrop-filter: blur(14px);
}

.amark-logo img {
	display: block;
	width: clamp(9.5rem, 34vw, 13.25rem);
	height: auto;
}

.amark-header .wp-block-navigation-item__content {
	position: relative;
}

.amark-header .wp-block-navigation-item__content::after {
	position: absolute;
	right: 0;
	bottom: -0.35rem;
	left: 0;
	height: 2px;
	content: "";
	background: var(--wp--preset--color--leaf);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.amark-header .wp-block-navigation-item__content:hover::after,
.amark-header .wp-block-navigation-item__content:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.wp-block-button .wp-block-button__link:hover {
	box-shadow: 0 0.75rem 1.75rem color-mix(in srgb, var(--wp--preset--color--forest) 22%, transparent);
	transform: translateY(-2px);
}

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

.amark-hero {
	position: relative;
	isolation: isolate;
	min-height: min(52rem, calc(100svh - 5rem));
	overflow: hidden;
}

.amark-hero::before,
.amark-hero::after {
	position: absolute;
	z-index: -1;
	content: "";
	pointer-events: none;
}

.amark-hero::before {
	top: -8rem;
	right: -10rem;
	width: 25rem;
	height: 25rem;
	background: color-mix(in srgb, var(--wp--preset--color--leaf) 20%, transparent);
	border-radius: 68% 32% 55% 45% / 45% 55% 45% 55%;
	transform: rotate(20deg);
}

.amark-hero::after {
	right: 10%;
	bottom: -9rem;
	width: 18rem;
	height: 26rem;
	background: color-mix(in srgb, var(--wp--preset--color--sun) 13%, transparent);
	border-radius: 90% 10% 85% 15% / 65% 25% 75% 35%;
	transform: rotate(35deg);
}

.amark-eyebrow {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.amark-eyebrow::before {
	width: 2.25rem;
	height: 2px;
	content: "";
	background: currentColor;
}

.amark-hero-copy {
	max-width: 44rem;
}

.amark-hero-visual {
	position: relative;
	min-height: 19rem;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 20%, transparent);
	border-radius: 2rem 2rem 8rem 2rem;
	box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.22);
}

.amark-hero-visual::before {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 5.5rem;
	height: 5.5rem;
	content: "";
	background: var(--wp--preset--color--coral);
	border-radius: 50% 15% 50% 50%;
	transform: rotate(28deg);
}

.amark-hero-visual .wp-block-image {
	position: relative;
	z-index: 1;
	margin: 0;
}

.amark-hero-visual .wp-block-image img {
	width: min(100%, 34rem);
	height: auto;
}

.amark-section-heading {
	max-width: 48rem;
}

.amark-service-card {
	height: 100%;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--forest) 12%, transparent);
	border-radius: 1.5rem;
	box-shadow: 0 1rem 3rem color-mix(in srgb, var(--wp--preset--color--forest) 8%, transparent);
}

.amark-service-card:hover {
	box-shadow: 0 1.5rem 3.5rem color-mix(in srgb, var(--wp--preset--color--forest) 14%, transparent);
	transform: translateY(-0.35rem);
}

.amark-service-number {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 50%;
}

.amark-process-step {
	position: relative;
	padding-left: 1.25rem;
	border-left: 2px solid var(--wp--preset--color--leaf);
}

.amark-feature-panel {
	position: relative;
	min-height: 25rem;
	overflow: hidden;
	border-radius: 2rem 2rem 2rem 9rem;
}

.amark-feature-panel::before,
.amark-feature-panel::after {
	position: absolute;
	content: "";
	border-radius: 70% 30% 70% 30%;
}

.amark-feature-panel::before {
	top: -3rem;
	right: -3rem;
	width: 13rem;
	height: 18rem;
	background: color-mix(in srgb, var(--wp--preset--color--sun) 75%, transparent);
	transform: rotate(30deg);
}

.amark-feature-panel::after {
	right: 3rem;
	bottom: -5rem;
	width: 11rem;
	height: 16rem;
	background: color-mix(in srgb, var(--wp--preset--color--coral) 78%, transparent);
	transform: rotate(-20deg);
}

.amark-feature-panel > * {
	position: relative;
	z-index: 1;
}

.amark-quote {
	position: relative;
	overflow: hidden;
	border-radius: 2rem;
}

.amark-quote::after {
	position: absolute;
	right: 1rem;
	bottom: -3.75rem;
	font-family: Georgia, serif;
	font-size: 15rem;
	line-height: 1;
	color: color-mix(in srgb, var(--wp--preset--color--forest) 10%, transparent);
	content: "”";
}

.amark-contact {
	position: relative;
	overflow: hidden;
	border-radius: 2rem;
}

.amark-contact::after {
	position: absolute;
	top: -8rem;
	right: -6rem;
	width: 20rem;
	height: 20rem;
	content: "";
	background: color-mix(in srgb, var(--wp--preset--color--leaf) 25%, transparent);
	border-radius: 50%;
}

.amark-footer-logo img {
	width: min(100%, 18rem);
	height: auto;
}

footer.wp-block-template-part a {
	color: var(--wp--preset--color--white);
}

footer.wp-block-template-part .is-style-plain a:hover {
	color: var(--wp--preset--color--leaf);
}

.error404 .wp-site-blocks > footer {
	margin-block-start: 0;
}

.amark-404-number {
	font-size: clamp(7rem, 35vw, 18rem) !important;
	line-height: 0.75 !important;
	letter-spacing: -0.08em;
}

@media (min-width: 600px) {
	body.admin-bar .amark-header {
		top: 32px;
	}
}

@media (min-width: 782px) {
	.amark-hero-visual {
		min-height: 30rem;
	}

	.amark-process-step {
		padding-top: 1rem;
		padding-left: 0;
		border-top: 2px solid var(--wp--preset--color--leaf);
		border-left: 0;
	}
}

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

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