/**
 * MagicKit Pro – element extensions styles.
 */

/* ===== Scroll Reveal ===== */
.mk-rv {
	--mk-rv-ease: cubic-bezier(.2, .65, .3, 1);
	transition: opacity var(--mk-rv-d, .8s) var(--mk-rv-ease) var(--mk-rv-w, 0s), transform var(--mk-rv-d, .8s) var(--mk-rv-ease) var(--mk-rv-w, 0s), filter var(--mk-rv-d, .8s) var(--mk-rv-ease) var(--mk-rv-w, 0s), clip-path var(--mk-rv-d, .8s) var(--mk-rv-ease) var(--mk-rv-w, 0s);
}
.mk-rv--fade-up:not(.is-in) { opacity: 0; transform: translate3d(0, 40px, 0); }
.mk-rv--fade-down:not(.is-in) { opacity: 0; transform: translate3d(0, -40px, 0); }
.mk-rv--fade-left:not(.is-in) { opacity: 0; transform: translate3d(48px, 0, 0); }
.mk-rv--fade-right:not(.is-in) { opacity: 0; transform: translate3d(-48px, 0, 0); }
.mk-rv--zoom-in:not(.is-in) { opacity: 0; transform: scale(.86); }
.mk-rv--zoom-out:not(.is-in) { opacity: 0; transform: scale(1.12); }
.mk-rv--blur-in:not(.is-in) { opacity: 0; filter: blur(14px); transform: scale(1.03); }
.mk-rv--clip-up { clip-path: inset(0 0 0 0); }
.mk-rv--clip-up:not(.is-in) { clip-path: inset(100% 0 0 0); }
.mk-rv--clip-left { clip-path: inset(0 0 0 0); }
.mk-rv--clip-left:not(.is-in) { clip-path: inset(0 100% 0 0); }
.mk-rv--flip-up { transform-origin: 50% 0; }
.mk-rv--flip-up:not(.is-in) { opacity: 0; transform: perspective(900px) rotateX(-70deg); }

/* Split text: the container itself stays still. */
.mk-rv--split-words,
.mk-rv--split-chars,
.mk-rv--stagger { transition: none; }
.mk-rv-w { display: inline-block; white-space: nowrap; }
.mk-rv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mk-rv--split-words .mk-rv-w,
.mk-rv-c,
.mk-rv-item {
	transition: opacity var(--mk-rv-d, .8s) var(--mk-rv-ease) calc(var(--mk-rv-w, 0s) + var(--i, 0) * var(--mk-rv-s, 40ms)), transform var(--mk-rv-d, .8s) var(--mk-rv-ease) calc(var(--mk-rv-w, 0s) + var(--i, 0) * var(--mk-rv-s, 40ms));
}
.mk-rv-c { display: inline-block; }
.mk-rv--split-words:not(.is-in) .mk-rv-w { opacity: 0; transform: translate3d(0, .65em, 0); }
.mk-rv--split-chars:not(.is-in) .mk-rv-c { opacity: 0; transform: translate3d(0, .55em, 0) rotate(6deg); }
.mk-rv--stagger:not(.is-in) .mk-rv-item { opacity: 0; transform: translate3d(0, 32px, 0); }

/* ===== Floating Effects ===== */
.mk-float-yes {
	animation: mk-float var(--mk-fd, 4s) ease-in-out var(--mk-fdl, 0s) infinite alternate;
}
@keyframes mk-float {
	from { translate: 0 0; rotate: 0deg; scale: 1; }
	to { translate: var(--mk-fx, 0px) var(--mk-fy, -16px); rotate: var(--mk-fr, 0deg); scale: var(--mk-fs, 1); }
}

/* ===== Animated Gradient ===== */
.mk-agrad-yes {
	background-image: linear-gradient(var(--mk-ag-angle, 120deg), var(--mk-ag1, #7b2ff7), var(--mk-ag2, #f107a3), var(--mk-ag3, #ff8a00), var(--mk-ag4, #00c6ff), var(--mk-ag1, #7b2ff7)) !important;
	background-size: 400% 400% !important;
	animation: mk-agrad var(--mk-ag-speed, 12s) ease infinite;
}
@keyframes mk-agrad {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* ===== Mouse effects ===== */
.mk-tilting { transition: transform .2s ease-out; transform-style: preserve-3d; will-change: transform; }
.mk-moving { will-change: transform; }
.mk-tilt-glare {
	position: absolute;
	inset: 0;
	z-index: 3;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .35), transparent 60%);
	opacity: 0;
	transition: opacity .3s ease;
}
.mk-tilting:hover > .mk-tilt-glare { opacity: 1; }

/* ===== Sticky ===== */
.mk-sticky.is-stuck {
	position: fixed !important;
	z-index: 990;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	transition: transform .35s ease, background-color .3s ease, box-shadow .3s ease;
}
.mk-sticky--top.is-hidden { transform: translateY(calc(-100% - var(--mk-sticky-offset, 0px) - 40px)); }
.mk-sticky-ph { pointer-events: none; }

/* ===== Particles ===== */
.mk-has-particles { position: relative; }
.mk-particles {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	pointer-events: none;
}
.mk-has-particles > :not(.mk-particles):not(.elementor-background-overlay):not(.elementor-background-video-container):not(.elementor-background-slideshow):not(.elementor-shape):not(.mk-sticky-ph) {
	position: relative;
	z-index: 1;
}

/* ===== Element Tooltip ===== */
.mk-etip {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99990;
	max-width: 280px;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--mk-tip-bg, #111827);
	color: #fff;
	font-size: 13px;
	line-height: 1.45;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s ease, visibility .15s ease;
}
.mk-etip:empty { display: none; }
.mk-etip.is-visible { opacity: 1; visibility: visible; }

/* ===== A/B Testing (editor labels) ===== */
[data-mk-ab-label] { outline: 2px dashed rgba(123, 47, 247, .55); outline-offset: -2px; }
[data-mk-ab-label]::before {
	content: attr(data-mk-ab-label);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 50;
	padding: 2px 8px;
	border-radius: 0 0 6px 0;
	background: #7b2ff7;
	color: #fff;
	font: 600 11px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	pointer-events: none;
}

/* ===== Custom Cursor ===== */
.mk-cursor-site,
.mk-cursor-site body,
.mk-cursor-site a,
.mk-cursor-site button,
.mk-cursor-site [role="button"],
[data-mk-cursor="custom"],
[data-mk-cursor="custom"] *,
[data-mk-cursor="grow"],
[data-mk-cursor="grow"] * { cursor: none; }
.mk-cursor-site input,
.mk-cursor-site textarea,
.mk-cursor-site select,
[data-mk-cursor] input,
[data-mk-cursor] textarea,
[data-mk-cursor] select { cursor: auto; }
.mk-cursor { position: fixed; top: 0; left: 0; z-index: 99999; pointer-events: none; transition: opacity .2s ease; }
.mk-cursor.is-hidden { opacity: 0; }
.mk-cursor__dot,
.mk-cursor__ring { position: fixed; top: 0; left: 0; display: block; pointer-events: none; }
.mk-cursor__dot { width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--mk-cursor); }
.mk-cursor__ring { width: 40px; height: 40px; margin: -20px 0 0 -20px; }
.mk-cursor__ring::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 1.5px solid var(--mk-cursor);
	border-radius: 50%;
	transition: transform .25s ease, background-color .25s ease, opacity .25s ease;
}
.mk-cursor__label {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .02em;
	white-space: nowrap;
	transform: translate(-50%, -50%) scale(.6);
	opacity: 0;
	transition: opacity .2s ease, transform .25s ease;
}
.mk-cursor--dot .mk-cursor__ring::before { opacity: 0; }
.mk-cursor.is-hover .mk-cursor__ring::before { transform: scale(1.5); background: color-mix(in srgb, var(--mk-cursor) 15%, transparent); }
.mk-cursor.is-grow .mk-cursor__ring::before { transform: scale(2.2); background: var(--mk-cursor); opacity: .9; }
.mk-cursor.has-label .mk-cursor__ring::before { transform: scale(2.4); background: var(--mk-cursor); opacity: 1; }
.mk-cursor.has-label .mk-cursor__label { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.mk-cursor.has-label .mk-cursor__dot { opacity: 0; }
.mk-cursor.is-down .mk-cursor__ring::before { transform: scale(.8); }
.mk-cursor--blend { mix-blend-mode: difference; }
.mk-cursor--blend .mk-cursor__dot { background: #fff; }
.mk-cursor--blend .mk-cursor__ring::before { border-color: #fff; }
.mk-cursor--blend.is-hover .mk-cursor__ring::before { background: #fff; transform: scale(1.6); }

/* ===== Page Transitions ===== */
.mk-pt {
	position: fixed;
	inset: 0;
	z-index: 999999;
	background: var(--mk-pt-color, #1e1b4b);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--mk-pt-speed, 600ms) ease, transform var(--mk-pt-speed, 600ms) cubic-bezier(.77, 0, .18, 1), clip-path var(--mk-pt-speed, 600ms) cubic-bezier(.77, 0, .18, 1), visibility 0s linear var(--mk-pt-speed, 600ms);
}
.mk-pt.is-entering,
.mk-pt.is-leaving {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}
.mk-pt.is-instant { transition: none !important; }
.mk-pt--slide-up,
.mk-pt--slide-left,
.mk-pt--circle { opacity: 1; }
.mk-pt--slide-up { transform: translate3d(0, 100%, 0); }
.mk-pt--slide-up.is-out { transform: translate3d(0, -100%, 0); visibility: visible; }
.mk-pt--slide-left { transform: translate3d(100%, 0, 0); }
.mk-pt--slide-left.is-out { transform: translate3d(-100%, 0, 0); visibility: visible; }
.mk-pt--slide-up.is-entering,
.mk-pt--slide-up.is-leaving,
.mk-pt--slide-left.is-entering,
.mk-pt--slide-left.is-leaving { transform: none; }
.mk-pt--circle { clip-path: circle(0% at 50% 50%); }
.mk-pt--circle.is-entering,
.mk-pt--circle.is-leaving { clip-path: circle(150% at 50% 50%); }

/* ===== Social Proof Notifications ===== */
.mk-sales {
	position: fixed;
	bottom: 24px;
	z-index: 99970;
	display: flex;
	align-items: flex-start;
	max-width: min(360px, calc(100vw - 32px));
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: opacity .35s ease, transform .35s ease, visibility .35s;
}
.mk-sales--left { left: 16px; }
.mk-sales--right { right: 16px; }
.mk-sales.is-visible { opacity: 1; visibility: visible; transform: none; }
.mk-sales__card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 36px 12px 12px;
	border-radius: 14px;
	background: #fff;
	color: #1f2937;
	text-decoration: none;
	box-shadow: 0 16px 40px rgba(15, 23, 42, .18);
}
a.mk-sales__card:hover { color: #1f2937; }
.mk-sales__img { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 10px; object-fit: cover; }
.mk-sales__body { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.4; }
.mk-sales__text { font-weight: 600; }
.mk-sales__time { color: #6b7280; font-size: 12px; }
.mk-sales__close {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #9ca3af;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.mk-sales__close:hover { background: #f3f4f6; color: #111827; }

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
	.mk-float-yes,
	.mk-agrad-yes { animation: none; }
	.mk-rv,
	.mk-rv-w,
	.mk-rv-c,
	.mk-rv-item { transition: none !important; opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
	.mk-sales,
	.mk-pt { transition: none; }
}
