/* Styles for event images to ensure consistent size and cropping */
.event-image {
  width: 100%;
  height: 300px; /* fixed height for card images */
  object-fit: cover; /* crops and preserves aspect ratio */
  object-position: center center;
}

@media (min-width: 1200px) {
    .event-image {
        height: 230px;
    }
}

/* Sub-page Header */
.page-header {
    padding: 8rem 0 4rem 0;
    background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('/img/urban-kiz-dancefloor.webp');
    background-size: cover;
    background-position: center;
}

/* Hero event callout on the home page */
.hero-event__status {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    letter-spacing: 0.08em;
}

.hero-event__pulse {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 999px;
    background: #ff7a7a;
    box-shadow: 0 0 0 0 rgba(255, 122, 122, 0.85);
    animation: hero-pulse 1.6s ease-out infinite;
}

.hero-event--live::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 1.25rem;
    border: 2px solid rgba(255, 122, 122, 0.75);
    box-shadow: 0 0 18px rgba(255, 122, 122, 0.45), 0 0 36px rgba(255, 122, 122, 0.25);
    animation: hero-ring 2.4s ease-in-out infinite;
    pointer-events: none;
}

.hero-event-img {
    width: 100%;
    max-width: 400px;
    height: 250px;
}

@media (min-width: 768px) {
    .hero-event-img {
        width: 320px;
    }
}

@keyframes hero-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 122, 122, 0.85);
    }
    70% {
        transform: scale(1.15);
        box-shadow: 0 0 0 16px rgba(255, 122, 122, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 122, 122, 0);
    }
}

@keyframes hero-ring {
    0% {
        opacity: 0.4;
        transform: scale(0.97);
    }
    50% {
        opacity: 0.95;
        transform: scale(1.02);
    }
    100% {
        opacity: 0.4;
        transform: scale(0.97);
    }
}
