/* ══════════════════════════════════════════════
   flowers.css — Flores, animaciones y estados
   Estados: seed | sprout | growing | blooming | wilting | dead
   ══════════════════════════════════════════════ */

/* ── Flower wrapper ──
   bottom siempre toca la línea de pasto.
   left: center X, transform: translateX(-50%) translateY(-100%) + vOffset opcional */
.flower-wrap {
  position:absolute;
  pointer-events:all;
  transform-origin:50% 100%;
  will-change:transform;
  touch-action:none;
  cursor:grab;
}
.flower-wrap:active { cursor:grabbing }
.flower-wrap.dragging {
  z-index:50;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.3));
}

/* ── Filtros de estado ── */
.flower-wrap.wilting .flower-svg-wrap { filter:saturate(.3) brightness(.72) sepia(.2) }
.flower-wrap.dead    .flower-svg-wrap { filter:grayscale(1) brightness(.38) sepia(.3) }

/* ── Sway para flores en bloom ── */
@keyframes sway {
  0%,100% { transform:rotate(-1.5deg) }
  50%      { transform:rotate(1.5deg) }
}
.flower-wrap.blooming .flower-svg-wrap {
  animation:sway 3.5s ease-in-out infinite;
  transform-origin:bottom center;
}
.flower-wrap.dragging .flower-svg-wrap { animation:none }

/* ── Anillo de selección ── */
.flower-wrap.selected::after {
  content:'';
  position:absolute; bottom:-4px;
  width:clamp(30px,8vw,52px); height:clamp(30px,8vw,52px);
  border-radius:50%;
  border:2px solid rgba(255,215,0,.8);
  box-shadow:0 0 12px rgba(255,215,0,.5);
  animation:ring-pulse 1.2s ease-in-out infinite;
}
@keyframes ring-pulse {
  0%,100% { opacity:.7; transform:scale(1) }
  50%     { opacity:1;  transform:scale(1.1) }
}

/* ── SVG wrappers ── */
.flower-svg-wrap {
  transform-origin:bottom center;
  transition:transform .08s linear;
}
.flower-stem-wrap {
  display:flex; flex-direction:column; align-items:center;
  margin-top:-3px;
}
.flower-stem {
  border-radius:4px 4px 2px 2px;
  position:relative;
}
.flower-leaf {
  position:absolute;
  transform-origin:left center;
}
.flower-soil {
  border-radius:50%;
  margin-top:-2px;
  position:relative;
}
.flower-soil::after {
  content:''; position:absolute;
  top:3px; left:25%; width:50%; height:1px;
  background:rgba(0,0,0,.15); border-radius:1px;
}

/* ── Hold indicator — glow ring sin tooltip de texto ── */
.flower-wrap.holding {
  filter:drop-shadow(0 0 10px rgba(255,215,0,.7));
}
.flower-wrap.holding .flower-svg-wrap { animation:none !important }

/* tooltip desactivado — info viene del tap → detail sheet */
.flower-tooltip { display:none }

/* ── Girasoles regalo (gift / golden) ── */
.flower-wrap.gift {
  filter:drop-shadow(0 0 8px rgba(255,220,50,.9)) drop-shadow(0 0 20px rgba(255,180,0,.5));
  animation:giftGlow 2.5s ease-in-out infinite alternate;
}
@keyframes giftGlow {
  from { filter:drop-shadow(0 0 6px  rgba(255,220,50,.8)) drop-shadow(0 0 16px rgba(255,160,0,.4)) }
  to   { filter:drop-shadow(0 0 14px rgba(255,240,100,1)) drop-shadow(0 0 32px rgba(255,200,0,.7)) }
}
.flower-wrap.gift.dragging { filter:drop-shadow(0 8px 20px rgba(0,0,0,.3)) }
