/* Flower bursts */
.flower-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 1001; pointer-events: none; }

/* Cupid: gold line drawing that flies beside the pointer (laptops only) */
.cupid { position: fixed; left: 0; top: 0; z-index: 1002; width: 76px; height: 68px; margin: 0; pointer-events: none; opacity: 0; transition: opacity .5s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
.cupid.is-on { opacity: 1; }
.cupid-inner { width: 100%; height: 100%; animation: cupid-bob 2.4s ease-in-out infinite; }
.cupid svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: #9a7432; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 3px 4px rgba(60, 40, 10, .18)); }
.cupid .cupid-head, .cupid .cupid-body { fill: #fff6ec; }
.cupid .cupid-wing path { fill: #fffdf8; stroke-width: 1.3; }
.cupid .cupid-cheek { fill: #f0b9c2; stroke: none; }
.cupid .cupid-tip { fill: #c4566b; stroke: none; }
.cupid .cupid-string { stroke-width: .8; opacity: .7; }
.cupid .cupid-face { stroke-width: 2; }
.cupid-wing { transform-box: fill-box; }
.cupid-wing-back { transform-origin: 100% 100%; animation: wing-back .32s ease-in-out infinite alternate; }
.cupid-wing-front { transform-origin: 0% 100%; animation: wing-front .32s ease-in-out infinite alternate; }
@keyframes wing-back { from { transform: rotate(8deg) scaleY(1); } to { transform: rotate(-14deg) scaleY(.82); } }
@keyframes wing-front { from { transform: rotate(-8deg) scaleY(1); } to { transform: rotate(14deg) scaleY(.82); } }
@keyframes cupid-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }

.cupid-shot { position: fixed; left: 0; top: 0; z-index: 1002; width: 26px; height: 2px; margin: -1px 0 0 -26px; pointer-events: none;
  background: linear-gradient(90deg, #9a7432 0 80%, transparent 80%); transform-origin: 100% 50%; }
.cupid-shot::after { content: ""; position: absolute; right: -6px; top: -4px; width: 9px; height: 9px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -8 20 17'%3E%3Cpath d='M0 8C-9 1-7-6-3.5-6-1.5-6 0-4.5 0-3 0-4.5 1.5-6 3.5-6 7-6 9 1 0 8Z' fill='%23c4566b'/%3E%3C/svg%3E") center / contain no-repeat; transform: rotate(-90deg); }
.cupid-heart { position: fixed; left: 0; top: 0; z-index: 1002; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -8 20 17'%3E%3Cpath d='M0 8C-9 1-7-6-3.5-6-1.5-6 0-4.5 0-3 0-4.5 1.5-6 3.5-6 7-6 9 1 0 8Z' fill='%23e9a2ae'/%3E%3C/svg%3E") center / contain no-repeat; }

@media (prefers-reduced-motion: reduce) { .cupid { display: none; } }
