/*
 * Global design foundations.
 * Component and content-model rules live in their respective stylesheets.
 */

:root {
	--bhc-color-ink: #171512;
	--bhc-color-soft: #faf6f3;
	--bhc-color-wash: #fffaf7;
	--bhc-color-line: rgb(100 54 36 / 16%);
	--bhc-color-line-strong: rgb(100 54 36 / 30%);
	--bhc-shadow-sm: 0 0.375rem 1.25rem rgb(100 54 36 / 7%);
	--bhc-shadow-md: 0 1rem 2.5rem rgb(100 54 36 / 11%);
	--bhc-radius-sm: 0.625rem;
	--bhc-radius-md: 0.875rem;
	--bhc-radius-lg: 1.125rem;
	--bhc-transition: 210ms ease;
}

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

html {
	scroll-behavior: smooth;
}

body {
	min-width: 0;
	background: #f4efeb;
	color: var(--bhc-color-ink);
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary);
}

.wp-site-blocks {
	display: flex;
	width: calc(100% - clamp(0.5rem, 1.5vw, 1.5rem));
	min-height: 100vh;
	flex-direction: column;
	margin-inline: auto;
	border-inline: 1px solid var(--bhc-color-line);
	background: #fff;
}

.site-main {
	flex: 1 0 auto;
}

img {
	height: auto;
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--wp--preset--font-family--display-sans);
	text-wrap: balance;
}

p,
li,
dd {
	text-wrap: pretty;
}

a {
	text-decoration-thickness: 0.075em;
	text-underline-offset: 0.18em;
	transition: color var(--bhc-transition), text-decoration-color var(--bhc-transition), text-underline-offset var(--bhc-transition);
}

a:hover {
	color: var(--wp--preset--color--primary);
	text-underline-offset: 0.28em;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 0.1875rem solid var(--wp--preset--color--accent);
	outline-offset: 0.1875rem;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
.wp-element-button,
.wp-block-button__link {
	min-height: 3rem;
	border: 1px solid transparent;
	border-radius: var(--bhc-radius-sm);
	box-shadow: none;
	transition: background-color var(--bhc-transition), border-color var(--bhc-transition), box-shadow var(--bhc-transition), color var(--bhc-transition), transform var(--bhc-transition);
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	box-shadow: 0 0.5rem 1.25rem rgb(100 54 36 / 16%);
	color: #fff;
	transform: translateY(-0.1875rem);
}

.wp-element-button:active,
.wp-block-button__link:active {
	box-shadow: none;
	transform: translateY(0);
}

.wp-element-button:disabled,
.wp-block-button__link[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-width: 1px;
	background: transparent;
	color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
	color: #fff;
}

.wp-block-search__inside-wrapper {
	border: 1px solid var(--bhc-color-line-strong);
	border-radius: var(--bhc-radius-md);
	background: #fff;
	padding: 0.25rem;
	transition: border-color var(--bhc-transition), box-shadow var(--bhc-transition);
}

.wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 0.2rem rgb(130 81 30 / 16%);
}

.wp-block-search__input {
	min-height: 3.5rem;
	border: 0;
	border-radius: var(--bhc-radius-sm);
	padding-inline: 1rem;
}

.wp-block-search__button {
	min-width: 3.5rem;
	margin: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
}

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

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