
  /* Event photos smaller than the space they fill (many organisers only share small images):
     instead of stretching them until they blur, the photo sits sharp in a frame over a soft,
     blurred copy of itself. */
  .evx-spot.ev-lowres .evx-spot-img { filter: blur(28px) saturate(1.15) brightness(.8); transform: scale(1.15); }
  .evx-spot.ev-lowres:hover .evx-spot-img { transform: scale(1.15); }
  .ev-inset { position: absolute; z-index: -1; border-radius: 18px; box-shadow: 0 24px 60px -20px rgba(0,0,0,.65), 0 0 0 1px rgba(251,247,238,.14); object-fit: cover; pointer-events: none; }
  .evx-spot .ev-inset { right: 48px; top: 50%; transform: translateY(-50%); max-height: calc(100% - 96px); }
  .evx-spot.ev-lowres::after { background: linear-gradient(90deg, rgba(20,15,9,.86) 0%, rgba(20,15,9,.55) 45%, rgba(20,15,9,.15) 100%); }
  .ev-featured-photo.ev-lowres { overflow: hidden; background-image: none !important; background-color: #1C1810; }
  .ev-featured-photo.ev-lowres::before { content: ""; position: absolute; inset: -30px; background: var(--ev-src) center/cover; filter: blur(28px) brightness(.85); }
  .ev-featured-photo .ev-inset { z-index: 0; left: 50%; top: 46%; transform: translate(-50%, -50%); max-width: calc(100% - 56px); max-height: 62%; }
  .ev-featured-photo.ev-lowres > :not(.ev-inset) { z-index: 1; }
  @media (max-width: 760px) {
    .evx-spot.ev-lowres { flex-direction: column; align-items: stretch; justify-content: flex-end; }
    .evx-spot .ev-inset { position: relative; order: -1; z-index: 0; right: auto; top: auto; transform: none; width: auto !important; max-width: none; max-height: none; margin: 20px 20px 0; }
  }
