html:has(.rl-sticky-footer-cta) body {
	padding-bottom: 0;
}

.rl-footer,
.rl-sticky-footer-cta {
	--rl-footer-accent: #63cf7d;
	--rl-footer-accent-hover: #5bc56a;
}

.rl-sticky-footer-cta {
	display: none;
}

@media (max-width: 767px) {
	html:has(.rl-sticky-footer-cta) body {
		padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
	}

	.rl-sticky-footer-cta {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 90;
		display: block;
		padding-bottom: env(safe-area-inset-bottom, 0px);
		background: var(--rl-footer-accent);
	}

	.rl-sticky-footer-cta__link {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		height: 48px;
		background: var(--rl-footer-accent);
		color: #ffffff !important;
		font-size: 15px;
		font-weight: 700;
		line-height: 1;
		text-decoration: none !important;
		transition: background-color 150ms ease;
	}

	.rl-sticky-footer-cta__link:hover,
	.rl-sticky-footer-cta__link:focus-visible {
		background: var(--rl-footer-accent-hover);
		color: #ffffff !important;
	}

	.rl-sticky-footer-cta__icon {
		display: inline-flex;
		flex-shrink: 0;
	}

	.rl-sticky-footer-cta__icon svg {
		display: block;
		width: 20px;
		height: 20px;
	}

	.rl-footer__mobile-alert {
		display: flex;
		align-items: center;
		gap: 0.375rem;
		padding: 0.75rem 1.5rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		color: #ffffff;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
	}

	.rl-footer__mobile-alert-icon {
		color: var(--rl-footer-accent);
		font-size: 12px;
		line-height: 1;
	}

	.rl-footer__mobile-alert-link {
		color: var(--rl-footer-accent);
		text-decoration: none;
	}

	.rl-footer__cta-bar {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.rl-footer__cta-bar-inner {
		padding: 1.75rem 1.5rem;
		gap: 1rem;
	}

	.rl-footer__cta-label {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.35;
	}

	.rl-footer__cta-actions {
		width: 100%;
	}

	.rl-footer__cta-phone,
	.rl-footer__cta-btn {
		width: 100%;
		box-sizing: border-box;
		min-height: 44px;
		justify-content: center;
		border-radius: 8px;
	}

	.rl-footer__cta-phone {
		border-color: var(--rl-footer-accent);
		color: var(--rl-footer-accent) !important;
	}

	.rl-footer__cta-btn {
		font-size: 15px;
	}

	.rl-footer__main {
		padding-top: 2rem;
	}

	.rl-footer__brand {
		gap: 1rem;
		padding-bottom: 1.5rem;  
	}

	.rl-footer__brand-logo {
		display: inline-flex;
		align-items: center;
	}

	.rl-footer__brand-logo svg {
		width: 170px;
		height: auto;
	}

	.rl-footer__brand-tagline {
		max-width: none;
		font-size: 14px;
		line-height: 1.8;
		color: rgba(255, 255, 255, 0.9);
	}

	.rl-footer__social {
		gap: 1.25rem;
	}

	.rl-footer__social-link {
		color: rgba(255, 255, 255, 0.82);
	}

	.rl-footer__accordion {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		padding-top: 0;
	}

	.rl-footer__accordion:last-child {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		padding-bottom: 0;
	}

	.rl-footer__accordion-trigger {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 5px 0 !important;
		margin: 0;
		background: transparent;
		border: 0;
		color: var(--rl-footer-accent);
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		text-align: left;
		cursor: pointer;
	}

	.rl-footer__accordion-arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 16px;
		height: 16px;
		font-size: 22px;
		font-weight: 400;
		line-height: 1;
	}

	.rl-footer__accordion-arrow::before {
		content: "+";
	}

	.rl-footer__accordion.is-open .rl-footer__accordion-arrow::before {
		content: "\2212";
	}

	.rl-footer__accordion-panel {
		display: none;
		padding: 0 0 1rem;
		text-align: left;
	}

	.rl-footer__accordion.is-open .rl-footer__accordion-panel {
		display: block;
	}

	.rl-footer__accordion-panel .rl-footer__col-link {
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
	}

	.rl-footer__accordion-panel .rl-footer__col-link,
	.rl-footer__accordion-panel .rl-footer__lang-link {
		justify-content: flex-start;
	}

	.rl-footer__trust-bar {
		align-items: center;
		gap: 0.875rem;
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}

	.rl-footer__trust-item {
		justify-content: center;
		text-align: center;
		font-size: 11px;
		letter-spacing: 0.08em;
		width: 100%;
	}

	.rl-footer__bottom {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.rl-footer__bottom-inner,
	.rl-footer__legal,
	.rl-footer__lang {
		align-items: flex-start;
		text-align: left;
	}

	.rl-footer__bottom-inner {
		align-items: center;
	}

	.rl-footer__legal,
	.rl-footer__lang {
		text-align: center;
		align-items: center;
		justify-content: center;
		width: 100%;
	}
}
