/* Bevel Kit — element options on the front end: sticky, motion effects, wrapper links.
   Class names follow Elementor Pro's so themes and templates styled for Pro keep working. */

/* ---------------------------------------------------------- sticky */
.elementor-sticky--active { z-index: 99; }
.e-con.elementor-sticky--active { z-index: var(--z-index, 99); }
.elementor-sticky__spacer { visibility: hidden !important; pointer-events: none; }
.elementor-sticky__spacer .e-n-menu .e-n-menu-content { display: none; }
.elementor-sticky {
	transition:
		transform var(--bvl-sticky-transition, 300ms) ease,
		background-color var(--bvl-sticky-transition, 300ms) ease,
		padding var(--bvl-sticky-transition, 300ms) ease,
		box-shadow var(--bvl-sticky-transition, 300ms) ease;
}
.elementor-sticky--active.bvl-sticky--hidden { transform: translateY(-100%); }
@media (prefers-reduced-motion: reduce) {
	.elementor-sticky { transition: none; }
}

/* ---------------------------------------------------------- motion effects */
.elementor-motion-effects-element,
.elementor-motion-effects-layer { will-change: transform; }
.elementor-motion-effects-perspective { perspective: 1200px; }
.elementor-motion-effects-element-type-background { position: relative; overflow: hidden; }
.elementor-motion-effects-container {
	position: absolute; inset: 0; z-index: 0;
	overflow: hidden; pointer-events: none;
	border-radius: inherit;
}
.elementor-motion-effects-layer {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background-size: cover; background-position: center;
}
/* the content of a section, column or container paints above its moving background */
.elementor-motion-effects-element-type-background > :not(.elementor-motion-effects-container) { position: relative; }
.elementor-section.elementor-motion-effects-element-type-background > .elementor-background-overlay { z-index: 1; }

/* ---------------------------------------------------------- wrapper link */
.bvl-wrapper-link { cursor: pointer; }
.bvl-wrapper-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* A paragraph's outer margins are between paragraphs, not between the copy and the box that
   holds it: the first one pushes itself down inside a card and the last pushes the card open,
   which reads as uneven padding no control accounts for. */
.elementor-element p:first-child {
	margin-top: 0;
}

.elementor-element p:last-child {
	margin-bottom: 0;
}
