/* Hero Paws: approved poppies use the original photorealistic transparent PNG artwork. */
.hp-remembrance-landscape { position: relative; }
.hp-remembrance-landscape .hp-memory-field {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 3;
}
.hp-memory-bloom {
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: clamp(48px, 7vw, 94px);
  height: clamp(48px, 7vw, 94px);
  aspect-ratio: 1;
  padding: 0;
  margin: 0;
  border: 0;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.15) rotate(-9deg);
  transform-origin: 50% 50%;
  animation: hp-memory-bloom 1.6s cubic-bezier(.16,.84,.21,1) forwards;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.4));
}
.hp-memory-bloom:hover, .hp-memory-bloom:focus-visible {
  filter: drop-shadow(0 0 13px rgba(255,228,169,.85)) drop-shadow(0 3px 4px rgba(0,0,0,.5));
  outline: 2px solid rgba(255,242,212,.75);
  outline-offset: 3px;
}
@keyframes hp-memory-bloom {
  0% {opacity: 0; transform: translate(-50%, -50%) scale(.15) rotate(-9deg);}
  70% {opacity: .95; transform: translate(-50%, -50%) scale(1.08) rotate(2deg);}
  100% {opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg);}
}
.hp-memory-nav {
  margin: 6px auto 14px;
  max-width: 750px;
  padding: 12px 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  color: #664b54;
  font-size: 14px;
}
.hp-memory-nav[hidden] { display: none!important; }
.hp-memory-nav-button {
  border: 1px solid #cbb5bd;
  background: #fffaf7;
  color: #773347;
  border-radius: 20px;
  padding: 6px 11px;
  cursor: pointer;
}
.hp-memory-nav-button:disabled { opacity: .4; cursor: default; }
.hp-memory-search {
  width: min(100%, 250px);
  min-width: 175px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #d1b5bd;
  border-radius: 24px;
  font: inherit;
}
.hp-memory-search-results[hidden] { display:none!important; }
.hp-memory-dialog[hidden] { display: none!important; }
.hp-memory-dialog {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15,12,20,.8);
}
.hp-memory-dialog-inner {
  position: relative;
  width: min(100%, 530px);
  max-height: min(88vh, 740px);
  overflow: auto;
  padding: 34px 28px;
  text-align: center;
  background: #fffaf5;
  border: 1px solid #e5d6ca;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
}
.hp-memory-dialog-flower { width: 90px; height: 90px; object-fit: contain; display: block; margin: 0 auto 12px; }
.hp-memory-name { font-size: clamp(22px,4vw,30px); color: #742942; margin: 0 0 12px; }
.hp-memory-dates { color: #6a5c61; font-size: 16px; }
.hp-memory-story { white-space: pre-line; line-height: 1.6; font-size: 17px; color: #342c33; }
.hp-memory-close {
  position: absolute;
  right: 10px;
  top: 7px;
  font-size: 29px;
  border: 0;
  background: transparent;
  color: #6c3447;
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  .hp-memory-bloom { animation: none; opacity:1; transform:translate(-50%,-50%); }
}
