/* ── Reset & defaults ──────────────────────────────────────────────────── */

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

html {
	scroll-behavior: smooth;
}

a,
button,
input:not([type="checkbox"]):not([type="radio"]):focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	background: linear-gradient(90deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary) 100%);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

/* ── Layout ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
	body {
		--wp--style--root--padding-right: 16px;
		--wp--style--root--padding-left: 16px;
	}
}

/* ── Forms ─────────────────────────────────────────────────────────────── */

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--wp--custom--font-weight--regular);
	line-height: var(--wp--custom--line-height--medium);
	padding: 12px 16px;
	width: 100%;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

input:not([type="checkbox"]):not([type="radio"]):hover,
select:hover,
textarea:hover {
	border-color: var(--wp--preset--color--contrast);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
	background-color: var(--wp--preset--color--surface-rose);
	border-color: var(--wp--preset--color--contrast);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="tel"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

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

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body);
	opacity: 0.5;
}

/* Submit button — match theme button look */
input[type="submit"],
button[type="submit"] {
	width: auto;
	background-color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: 24px;
	min-height: 48px;
	padding: 11px 16px 13px;
	text-transform: uppercase;
	cursor: pointer;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

.wp-block-post-content.is-layout-constrained>* {
	/* Fix default wordpress gap between main sections */
	margin-block-start: 0;
}

/* ── Code block ────────────────────────────────────────────────────────── */

*:not(.wp-block-code)>code {
	background-color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--body);
	padding: 5px 8px;
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media only screen and (max-width: 600px) {

	.is-style-hidden-mobile {
		display: none !important;
	}

}

@media only screen and (max-width: 782px) {

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

}