/* Modal */
.popup-overlay {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.85);
  justify-content: center;
  align-items: center;
}

.popup-content {
  position: relative;
  width: 85%;
  max-width: 960px;
  height: 85%;
  background: transparent;
}

.popup-content iframe {
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

@media (max-width: 768px) {
  #video-popup {
    padding: 0;
    margin: 0;
    width: 100vw;
    height: 100vh;
  }

  #popup-iframe {
    width: 100%;
    height: 100%;
  }
}

.live-border {
    border: 4px solid red;
    border-radius: 20px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.5); }
    70%  { box-shadow: 0 0 0 20px rgba(255, 0, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}


/* Sermons*/
.thumbnail-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  overflow: hidden;
  background-color: #000;
}

.thumbnail-wrapper img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#esc-hint {
  position: absolute;
      top: -25px;
      left: 0;
      color: #fff;
      font-size: 14px;
      opacity: 0.8;
}

#close-popup{
  position: absolute;
  top: -40px;
  right: 0;
  background: red;
  color: white;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
}
/*Pagination*/
.pagination .page-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  text-align: center;
  padding: 0;
}

.pagination .active .page-link {
  background-color: #000; /* or your theme primary color */
  color: #fff;
  border: none;
}

/*Search UI*/
.search-container {
  position: absolute;
  top: 60px; /* adjust depending on your navbar height */
  right: 1rem;
  background: #fff;
  width: 320px;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  padding: 0.5rem;
  z-index: 9999;
  transition: opacity 0.3s ease;
}

.search-container input {
  width: 100%;
  padding: 0.6rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}

.search-results {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.search-results li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.2s;
}

.search-results li:hover {
  background: #f5f5f5;
}

.search-results img {
  width: 60px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
}

.search-results div {
  font-size: 14px;
}

.search-results small {
  color: #666;
}

.hidden {
  display: none;
}

