/* Royal Addons: Theme Builder, menu and sticky-header normalization. */
.rg-site :where(.wpr-header, .wpr-footer) {
	position: relative;
	z-index: 40;
}

.rg-site :where(.wpr-sticky-section-yes, .wpr-sticky-section) .rg-header,
.rg-site .rg-header.elementor-sticky--active {
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	background: rgba(255, 255, 255, 0.95);
}

.rg-site :where(.wpr-nav-menu-horizontal, .wpr-nav-menu-vertical) {
	font-family: var(--rg-font-display);
}

.rg-site .wpr-nav-menu-horizontal .wpr-nav-menu > li > a {
	color: var(--rg-green-950);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.rg-site .wpr-mobile-toggle {
	border: 1px solid rgba(8, 42, 37, 0.3);
	border-radius: 0;
	color: var(--rg-green-950);
	background: transparent;
}

.rg-site .wpr-mobile-nav-menu {
	border-top: 3px solid var(--rg-coral);
	background: var(--rg-white);
	box-shadow: var(--rg-shadow);
}

.rg-site .wpr-mobile-nav-menu a {
	color: var(--rg-green-950);
	font-family: var(--rg-font-display);
	font-weight: 800;
	text-transform: uppercase;
}

/* WPForms */
.rg-site .wpforms-container {
	width: 100%;
	margin: 0;
}

.rg-site .wpforms-container .wpforms-field {
	padding: 0 0 1.15rem;
}

.rg-site .wpforms-container .wpforms-field-label {
	display: block;
	margin: 0 0 0.42rem;
	color: var(--rg-green-950);
	font-family: var(--rg-font-display);
	font-size: 0.94rem;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1.3;
	text-transform: uppercase;
}

.rg-site .wpforms-container .wpforms-required-label {
	color: var(--rg-coral);
}

.rg-site .wpforms-container :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea) {
	width: 100%;
	min-height: 52px;
	padding: 0.8rem 0.95rem;
	border: 1px solid #b8c0bc;
	border-radius: 0;
	color: var(--rg-green-950);
	background: var(--rg-white);
	box-shadow: none;
	font: inherit;
	line-height: 1.35;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.rg-site .wpforms-container textarea {
	min-height: 170px;
	resize: vertical;
}

.rg-site .wpforms-container :where(input, select, textarea):focus {
	border-color: var(--rg-green-950);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(215, 170, 82, 0.35);
}

.rg-site .wpforms-container input::placeholder,
.rg-site .wpforms-container textarea::placeholder {
	color: #737f7a;
	opacity: 1;
}

.rg-site .wpforms-container .wpforms-field-description {
	margin-top: 0.4rem;
	color: var(--rg-muted);
	font-size: 0.82rem;
}

.rg-site .wpforms-container .wpforms-error {
	color: #a22f20;
}

.rg-site .wpforms-container label.wpforms-error {
	margin-top: 0.35rem;
	font-size: 0.82rem;
}

.rg-site .wpforms-container em.wpforms-error {
	color: #a22f20;
}

.rg-site .wpforms-container .wpforms-field-checkbox li,
.rg-site .wpforms-container .wpforms-field-radio li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
}

.rg-site .wpforms-container .wpforms-field-checkbox input,
.rg-site .wpforms-container .wpforms-field-radio input {
	margin-top: 0.28rem;
	accent-color: var(--rg-coral);
}

.rg-site .wpforms-container .wpforms-submit-container {
	padding-top: 0.4rem;
}

.rg-site .wpforms-container button[type="submit"],
.rg-site .wpforms-container input[type="submit"] {
	min-height: 52px;
	padding: 0.9rem 1.6rem;
	border: 1px solid var(--rg-coral);
	border-radius: 0;
	color: var(--rg-white);
	background: var(--rg-coral);
	box-shadow: none;
	font-family: var(--rg-font-display);
	font-size: 0.94rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.rg-site .wpforms-container button[type="submit"]:hover,
.rg-site .wpforms-container input[type="submit"]:hover {
	border-color: var(--rg-green-950);
	color: var(--rg-white);
	background: var(--rg-green-950);
	transform: translateY(-2px);
}

.rg-site .wpforms-confirmation-container-full {
	padding: 1.25rem;
	border: 1px solid var(--rg-sage);
	color: var(--rg-green-950);
	background: var(--rg-green-100);
}

/* Elementor editor and compatibility guards. */
.rg-site .elementor-widget-shortcode:has(.rg-nav),
.rg-site .elementor-widget-shortcode:has(.rg-brand) {
	margin-bottom: 0;
}

.rg-site .elementor-widget-shortcode .rg-brand,
.rg-site .elementor-widget-shortcode .rg-nav {
	width: 100%;
}

.rg-site .elementor-widget-shortcode .rg-nav {
	justify-content: flex-end;
}

@supports not selector(:has(*)) {
	.rg-header .elementor-widget-shortcode,
	.rg-footer .elementor-widget-shortcode {
		margin-bottom: 0;
	}
}

/* Complianz: keep consent UI above content and below an opened editor. */
.rg-site #cmplz-cookiebanner-container .cmplz-cookiebanner {
	z-index: 99999;
	border-radius: 0;
	font-family: var(--rg-font-copy);
}

.rg-site #cmplz-cookiebanner-container .cmplz-btn {
	border-radius: 0;
	font-family: var(--rg-font-display);
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.rg-site .wpforms-container .wpforms-one-half,
	.rg-site .wpforms-container .wpforms-one-third,
	.rg-site .wpforms-container .wpforms-two-thirds {
		width: 100%;
		margin-left: 0;
	}
}

