:root{
  --ev-hero-grad: radial-gradient(900px circle at 20% -10%, rgba(13,110,253,.25), transparent 55%),
                  radial-gradient(700px circle at 80% 0%, rgba(32,201,151,.18), transparent 50%);
}

.ev-body{
  background-image: var(--ev-hero-grad);
  background-attachment: fixed;
}

.ev-navbar{
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
}

.ev-card{
  border-radius: 1rem;
}

.ev-hero{
  padding: 2.25rem 1.5rem;
  border-radius: 1.25rem;
}

.ev-code{
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ev-gallery-thumb{
  cursor: pointer;
  border-radius: 0.9rem;
  overflow: hidden;
}

.ev-thumb-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ev-muted{
  color: rgba(255,255,255,.65);
}

[data-bs-theme="light"] .ev-muted{
  color: rgba(0,0,0,.6);
}

.ev-qr{max-width:220px;}
.ev-admin-thumb{width:100px;height:70px;object-fit:cover;}
.ev-col-120{width:120px;}
.ev-caption-col{min-width:260px;}


/* Lightbox navigation */
.ev-lb-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  opacity: .85;
}
.ev-lb-nav:hover{opacity:1;}
.ev-lb-prev{left:.5rem;}
.ev-lb-next{right:.5rem;}

@media (max-width: 576px){
  .ev-lb-nav{padding:.25rem .5rem;}
}


/* Admin photo selection highlight */
.ev-photo-card.ev-photo-selected{
  outline: 2px solid rgba(13,110,253,.6); /* bootstrap primary-ish */
  outline-offset: 2px;
}
.ev-photo-thumb{ cursor: pointer; }

.ev-gallery-footer{ }


/* Lightbox fullscreen: make image not exceed viewport */
#lightboxModal .modal-body img{
  max-height: 80vh;
  object-fit: contain;
}
