/*
 * The Swiftie Vault — cursor de pata de gato y estela de brillitos (escritorio).
 * Sale en todas las páginas del sitio, por eso es un archivo propio y liviano.
 * Los colores usan los tokens de swiftie-vault.css con su valor como respaldo.
 */

/* ------------------------------------------------------------------
   Cursor de pata de gato (solo escritorio). PHP pone body.sv-paw según el
   ajuste «Cursor de pata de gato», sin esperar al JS (LiteSpeed lo retrasa).
   Blanca con contorno tinta; en enlaces y botones lleva las almohadillas rosa.
   Los colores del SVG repiten los tokens --sv-paper, --sv-ink y --sv-blush de
   swiftie-vault.css (un data URI no lee variables).
   !important: el tema y los widgets declaran cursor: pointer con más peso.
   ------------------------------------------------------------------ */
@media (hover: hover) and (pointer: fine) {
	body.sv-paw:not(.elementor-editor-active),
	body.sv-paw:not(.elementor-editor-active) * {
		cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='rotate(-16 16 17)' fill='%23FFFFFF' stroke='%231E1A14' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M16 14.4c-2.7 0-4.5 2.5-6 4.7-1.4 2-3 3.5-3 5.6 0 2.3 1.9 3.7 4.1 3.7 1.9 0 3.2-.9 4.9-.9s3 .9 4.9.9c2.2 0 4.1-1.4 4.1-3.7 0-2.1-1.6-3.6-3-5.6-1.5-2.2-3.3-4.7-6-4.7z'/%3E%3Cg fill='%23FFFFFF'%3E%3Cellipse cx='6.4' cy='14.2' rx='2.5' ry='3.1' transform='rotate(-28 6.4 14.2)'/%3E%3Cellipse cx='11.6' cy='8.6' rx='2.7' ry='3.4' transform='rotate(-10 11.6 8.6)'/%3E%3Cellipse cx='20.4' cy='8.6' rx='2.7' ry='3.4' transform='rotate(10 20.4 8.6)'/%3E%3Cellipse cx='25.6' cy='14.2' rx='2.5' ry='3.1' transform='rotate(28 25.6 14.2)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 9 6, auto !important;
	}
	body.sv-paw:not(.elementor-editor-active) :is(a[href], button, [role='button'], [role='radio'], [role='tab'], [role='checkbox'], [role='switch'], label[for], summary, select, input[type='checkbox'], input[type='radio'], input[type='submit'], input[type='button'], [data-sv-tilt] a),
	body.sv-paw:not(.elementor-editor-active) :is(a[href], button, [role='button'], [role='radio'], [role='tab'], [role='checkbox'], [role='switch'], label[for], summary) * {
		cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='rotate(-16 16 17)' fill='%23FFFFFF' stroke='%231E1A14' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M16 14.4c-2.7 0-4.5 2.5-6 4.7-1.4 2-3 3.5-3 5.6 0 2.3 1.9 3.7 4.1 3.7 1.9 0 3.2-.9 4.9-.9s3 .9 4.9.9c2.2 0 4.1-1.4 4.1-3.7 0-2.1-1.6-3.6-3-5.6-1.5-2.2-3.3-4.7-6-4.7z'/%3E%3Cg fill='%23F3A9BE'%3E%3Cellipse cx='6.4' cy='14.2' rx='2.5' ry='3.1' transform='rotate(-28 6.4 14.2)'/%3E%3Cellipse cx='11.6' cy='8.6' rx='2.7' ry='3.4' transform='rotate(-10 11.6 8.6)'/%3E%3Cellipse cx='20.4' cy='8.6' rx='2.7' ry='3.4' transform='rotate(10 20.4 8.6)'/%3E%3Cellipse cx='25.6' cy='14.2' rx='2.5' ry='3.1' transform='rotate(28 25.6 14.2)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 9 6, pointer !important;
	}
	body.sv-paw:not(.elementor-editor-active) :is(button, input, select, textarea)[disabled],
	body.sv-paw:not(.elementor-editor-active) :is(button, input, select, textarea)[disabled] * {
		cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='rotate(-16 16 17)' fill='%23FFFFFF' stroke='%231E1A14' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M16 14.4c-2.7 0-4.5 2.5-6 4.7-1.4 2-3 3.5-3 5.6 0 2.3 1.9 3.7 4.1 3.7 1.9 0 3.2-.9 4.9-.9s3 .9 4.9.9c2.2 0 4.1-1.4 4.1-3.7 0-2.1-1.6-3.6-3-5.6-1.5-2.2-3.3-4.7-6-4.7z'/%3E%3Cg fill='%23FFFFFF'%3E%3Cellipse cx='6.4' cy='14.2' rx='2.5' ry='3.1' transform='rotate(-28 6.4 14.2)'/%3E%3Cellipse cx='11.6' cy='8.6' rx='2.7' ry='3.4' transform='rotate(-10 11.6 8.6)'/%3E%3Cellipse cx='20.4' cy='8.6' rx='2.7' ry='3.4' transform='rotate(10 20.4 8.6)'/%3E%3Cellipse cx='25.6' cy='14.2' rx='2.5' ry='3.1' transform='rotate(28 25.6 14.2)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 9 6, not-allowed !important;
	}
	body.sv-paw:not(.elementor-editor-active) :is(input:not([type]), input[type='text'], input[type='email'], input[type='tel'], input[type='number'], input[type='search'], input[type='url'], input[type='password'], textarea, [contenteditable='true']) {
		cursor: text !important;
	}
}

/* Estela de brillitos del cursor (solo escritorio, sin movimiento reducido).
   El JS crea las piezas y las anima con transform y opacity. */
.sv-sparkles {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	overflow: hidden;
	pointer-events: none;
	contain: strict;
}
.sv-sparkle {
	position: absolute;
	left: 0;
	top: 0;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	opacity: 0;
	will-change: transform, opacity;
}
.sv-sparkle--0 {
	color: var(--sv-gold-warm, #d4aa48);
}
.sv-sparkle--1 {
	color: var(--sv-blush, #f3a9be);
}
.sv-sparkle--2 {
	color: var(--sv-gold-mid, #e9cf85);
}
.sv-sparkle--3 {
	color: var(--sv-gold, #b8860b);
}
.sv-sparkle--4 {
	color: var(--sv-seed, #e0b44c);
}
.sv-sparkle svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}
@media (prefers-reduced-motion: reduce) {
	.sv-sparkles {
		display: none;
	}
}
