/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
*/

/* Bookmark list item - show remove button on hover */
.bookmark-item .bookmark-remove {
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

.bookmark-item:hover .bookmark-remove {
  opacity: 1;
}

/* IWgR stamp overlay on homepage */
.iwgr-stamp-wrapper {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-18deg);
  z-index: 10;
}

.iwgr-stamp {
  position: relative;
  display: block;
  font-size: 4.5rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E53935;
  border: 0.2em solid #E53935;
  border-radius: 0.2em;
  padding: 0.1em 0.4em;
  opacity: 0.9;
  text-decoration: none;
  pointer-events: auto;
  white-space: nowrap;
  line-height: 1.2;
  animation: stamp-press 1.5s ease-in-out infinite;
}

.iwgr-stamp-wrapper:hover .iwgr-stamp {
  opacity: 1;
  color: #E53935;
  animation: none;
  transform: scale(1.08);
}

.iwgr-stamp-wrapper:hover .iwgr-tap {
  animation: none;
  transform: scale(0.75);
}

/* Pulsing tap finger on the stamp */
.iwgr-tap {
  position: absolute;
  bottom: -0.5em;
  left: 50%;
  margin-left: -0.5em;
  font-size: 4.5rem;
  pointer-events: none;
  animation: tap 1.5s ease-in-out infinite;
  transform-origin: center bottom;
}

@keyframes tap {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  40% { transform: scale(0.75); opacity: 1; }
  55% { transform: scale(1.05); opacity: 0.9; }
}

@keyframes stamp-press {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  40% { transform: scale(1.08); opacity: 1; }
  55% { transform: scale(1); opacity: 0.9; }
}

/* Temporary highlight for linked events */
@keyframes event-highlight {
  0% { box-shadow: 0 0 0 4px rgba(37, 179, 209, 0.8); }
  100% { box-shadow: 0 0 0 4px transparent; }
}

.event-highlight .card {
  animation: event-highlight 2s ease-out;
}

/* Bunter Block colorful text - matches logo colors */
.text-bunter {
  background: linear-gradient(
    90deg,
    #25B3D1,  /* cyan */
    #9B7AB8,  /* purple */
    #E84C8A,  /* pink */
    #F5A623,  /* orange */
    #8BC53F,  /* green */
    #E53935   /* red */
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
