/**
 * IYDEX base element styles.
 */

html {
	background: var(--iydex-color-background);
	font-size: 16px;
	letter-spacing: 0;
	scroll-behavior: smooth;
}

body {
	background: var(--iydex-color-background);
	color: var(--iydex-color-body);
	font-family: var(--iydex-font-en-active);
	font-size: var(--iydex-font-size-body);
	line-height: var(--iydex-line-height-en-body);
	margin: 0;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	letter-spacing: 0;
}

::selection {
	background: var(--iydex-color-accent);
	color: var(--iydex-color-on-accent);
}

:where(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
	color: var(--iydex-color-heading);
	font-family: var(--iydex-font-en-active);
	font-weight: 800;
	letter-spacing: 0;
	line-height: var(--iydex-line-height-en-heading);
	margin-block: 0 var(--iydex-space-sm);
}

h1 {
	font-size: var(--iydex-font-size-h1);
}

h2 {
	font-size: var(--iydex-font-size-h2);
}

h3 {
	font-size: var(--iydex-font-size-h3);
}

h4,
h5,
h6 {
	font-size: var(--iydex-font-size-h4);
}

p {
	margin-block: 0 var(--iydex-space-sm);
}

:where(p, li, figcaption, .elementor-widget-text-editor) {
	color: var(--iydex-color-body);
}

small {
	font-size: var(--iydex-font-size-body-sm);
	line-height: var(--iydex-line-height-caption);
}

a {
	color: var(--iydex-color-link);
	text-decoration-color: currentColor;
	text-decoration-thickness: var(--iydex-border-width);
	text-underline-offset: 0.18em;
	transition: color var(--iydex-transition-fast), text-decoration-color var(--iydex-transition-fast);
}

a:hover {
	color: var(--iydex-color-link-hover);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--iydex-color-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var(--iydex-color-focus-ring);
}

img,
svg,
video {
	max-width: 100%;
}

img {
	height: auto;
}

hr {
	border: 0;
	border-block-start: var(--iydex-border-width) solid var(--iydex-color-border);
	margin-block: var(--iydex-space-xl);
}

:where(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], select, textarea) {
	background: var(--iydex-color-surface);
	border: var(--iydex-border-width) solid var(--iydex-color-border);
	border-radius: var(--iydex-radius-md);
	color: var(--iydex-color-body);
	font-family: var(--iydex-font-en-active);
	font-size: var(--iydex-font-size-body);
	line-height: var(--iydex-line-height-en-body);
	min-block-size: 44px;
	padding: 0.72rem 0.9rem;
	width: 100%;
}

textarea {
	min-block-size: 132px;
	resize: vertical;
}

label {
	color: var(--iydex-color-heading);
	display: inline-block;
	font-size: var(--iydex-font-size-body-sm);
	font-weight: 700;
	line-height: var(--iydex-line-height-caption);
	margin-block-end: var(--iydex-space-2xs);
}

fieldset {
	border: var(--iydex-border-width) solid var(--iydex-color-border);
	border-radius: var(--iydex-radius-md);
	margin: 0 0 var(--iydex-space-md);
	padding: var(--iydex-space-md);
}

legend {
	color: var(--iydex-color-heading);
	font-weight: 800;
	padding-inline: var(--iydex-space-2xs);
}

.elementor-widget-heading .elementor-heading-title {
	margin-block-end: 0;
}

.elementor-widget-text-editor p:last-child {
	margin-block-end: 0;
}
