:root {
	--rbcd-focus: #0b5fff;
	--rbcd-text: #1f2937;
	--rbcd-error: #9b1c1c;
	--rbcd-sticky-header-offset: 80px;
}

html {
	scroll-padding-top: var(--rbcd-sticky-header-offset);
}

[id] {
	scroll-margin-top: var(--rbcd-sticky-header-offset);
}

.elementor-form .elementor-field-label {
	color: var(--rbcd-text);
	font-weight: 600;
}

.elementor-form .elementor-field,
.elementor-form select,
.elementor-form textarea {
	border-color: #667085;
	color: #111827;
}

.elementor-form .elementor-field::placeholder,
.elementor-form textarea::placeholder {
	color: #596579;
	opacity: 1;
}

.elementor-form .elementor-field:focus,
.elementor-form select:focus,
.elementor-form textarea:focus,
.elementor-widget-nav-menu .elementor-menu-toggle:focus-visible,
a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--rbcd-focus);
	outline-offset: 3px;
}

.elementor-form .elementor-field[aria-invalid='true'],
.elementor-form select[aria-invalid='true'],
.elementor-form textarea[aria-invalid='true'] {
	border-color: var(--rbcd-error);
	box-shadow: 0 0 0 1px var(--rbcd-error);
}

.elementor-widget-nav-menu .elementor-nav-menu--dropdown[hidden] {
	display: none !important;
}

.elementor-message-danger,
.elementor-help-inline,
.elementor-error {
	color: var(--rbcd-error);
	font-weight: 600;
}

body.rbcd-form-active .chaty-widget,
body.rbcd-form-active [class*="chaty-widget"] {
	opacity: .16 !important;
	pointer-events: none !important;
}

.rbcd-virtual-archive {
	margin-inline: auto;
	max-width: 76rem;
	padding: clamp(1rem, 3vw, 2rem);
}

.rbcd-virtual-archive__intro {
	color: var(--rbcd-text);
	font-size: 1.05rem;
	max-width: 52rem;
}

.rbcd-virtual-archive__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.rbcd-virtual-archive__item {
	background: #fff;
	border: 1px solid #d0d5dd;
	border-radius: .75rem;
	overflow: hidden;
	padding: 1rem;
}

.rbcd-virtual-archive__image {
	display: block;
	margin: -1rem -1rem 1rem;
}

.rbcd-virtual-archive__image img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.rbcd-virtual-archive__item h2 {
	font-size: 1.05rem;
	line-height: 1.4;
	margin: 0;
}

@media (max-width: 767px) {
	.chaty-widget,
	[class*="chaty-widget"] {
		bottom: max(84px, calc(env(safe-area-inset-bottom) + 16px)) !important;
		right: 12px !important;
	}
}

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

	.rbcd-homepage-template *,
	.elementor-widget-nav-menu .elementor-menu-toggle,
	.elementor-widget-nav-menu .elementor-nav-menu--dropdown,
	.chaty-widget,
	[class*="chaty-widget"] {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
