/* Sweet Glow Flower/Petal Cursor — desktop only, visual layer only. */
#sweetglow-petal-trail {
    position: fixed;
    inset: 0;
    z-index: 2147483645;
    width: 100vw;
    height: 100vh;
    opacity: .9;
    pointer-events: none !important;
    filter: saturate(1.08);
    contain: strict;
    transform: translateZ(0);
}

.sg-flower-pointer {
    --sg-flower-scale: 1;
    position: fixed;
    top: -60px;
    left: -60px;
    z-index: 2147483646;
    width: 46px;
    height: 46px;
    opacity: 0;
    pointer-events: none !important;
    transform: translate(-50%, -50%) scale(var(--sg-flower-scale));
    transition: opacity .24s ease-out, transform .28s cubic-bezier(.2,.75,.2,1);
    will-change: left, top, transform;
}

/* The decorative cursor must never sit in the website's click path. */
.sg-flower-pointer *,
.sg-flower-pointer::before,
.sg-flower-pointer::after {
    pointer-events: none !important;
    user-select: none;
}

.sg-flower-pointer.is-visible { opacity: 1; }
.sg-flower-pointer.is-interactive { --sg-flower-scale: 1.16; }
.sg-flower-pointer.is-pressed { --sg-flower-scale: .78; }

.sg-flower-pointer__bloom {
    position: absolute;
    inset: 0;
    animation: sg-visible-flower-turn 7s linear infinite;
    filter: drop-shadow(0 3px 7px rgba(58, 46, 46, .22)) drop-shadow(0 0 12px rgba(217, 140, 140, .3));
}

.sg-flower-pointer__bloom::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 248, 243, .5), rgba(217, 140, 140, .16) 48%, transparent 74%);
}

.sg-flower-pointer__bloom i {
    position: absolute;
    top: 1px;
    left: 17px;
    width: 12px;
    height: 22px;
    border: 1.5px solid #A85D5D;
    border-radius: 78% 78% 58% 58%;
    background: linear-gradient(180deg, #F3B6B6 0%, #D98C8C 48%, #B76D6D 100%);
    box-shadow: inset 1px 1px 3px rgba(255, 248, 243, .58), 0 1px 3px rgba(183, 109, 109, .34);
    transform-origin: 6px 21px;
}

.sg-flower-pointer__bloom i:nth-child(1) { transform: rotate(0deg); }
.sg-flower-pointer__bloom i:nth-child(2) { transform: rotate(72deg); background: linear-gradient(180deg, #FFF8F3 0%, #F1DADA 48%, #D98C8C 100%); border-color: #C77C7C; }
.sg-flower-pointer__bloom i:nth-child(3) { transform: rotate(144deg); background: linear-gradient(180deg, #E2C677 0%, #C9A24B 48%, #A77D28 100%); border-color: #8A681F; }
.sg-flower-pointer__bloom i:nth-child(4) { transform: rotate(216deg); background: linear-gradient(180deg, #FFF8F3 0%, #F1DADA 48%, #D98C8C 100%); border-color: #C77C7C; }
.sg-flower-pointer__bloom i:nth-child(5) { transform: rotate(288deg); }

.sg-flower-pointer__bloom b {
    position: absolute;
    top: 17px;
    left: 17px;
    width: 12px;
    height: 12px;
    border: 2px solid #8A681F;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #F3D995 0 18%, #C9A24B 48%, #8A681F 100%);
    box-shadow: 0 0 9px rgba(201, 162, 75, .58);
}

@keyframes sg-visible-flower-turn { to { transform: rotate(360deg); } }

@media (hover: hover) and (pointer: fine) {
    html.sg-petal-cursor-active,
    html.sg-petal-cursor-active body,
    html.sg-petal-cursor-active body * { cursor: none !important; }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
    #sweetglow-petal-trail,
    .sg-flower-pointer { display: none !important; }
}
