/* Reset & Base */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Roboto', sans-serif; background: #fff; }

/* UNIFIED HEADER */
.master-header-block {
    background: #0C1844;
    border-bottom: 4px solid #FFD700;
}
.main-title { 
    color: #fff; 
    font-family: 'Teko', sans-serif; 
    font-size: 2.2rem; 
    line-height: 1.1; 
}
.telugu-sub { 
    font-family: 'Noto Sans Telugu'; 
    font-size: 1.2rem; 
    color: #FFD700; 
}
.church-logo { max-height: 80px; }

/* INFO BAR */
.info-bar { 
    background: rgba(255, 255, 255, 0.05); 
    border-top: 1px solid rgba(255, 215, 0, 0.2); 
}
.info-bar a { color: #fff; text-decoration: none; font-size: 0.9rem; font-weight: bold; }
.status-msg { color: #FFD700; font-weight: bold; animation: pulse 2s infinite; }
@keyframes pulse { 50% { opacity: 0.5; } }
.whatsapp-badge { background: #25d366; padding: 5px 15px; border-radius: 20px; color: #fff !important; }

/* CAROUSEL SEAMLESS CONNECTION */
#hero-carousel { margin-top: 0; }
.hero-item {
    height: 40vh;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-size: cover;
    background-position: center;
}
.hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.6); }

/* HOLY WEEK BOX (Zoom & Bounce) */
.holy-box {
    position: relative;
    z-index: 5;
    background: rgba(12, 24, 68, 0.85);
    border: 3px solid #FFD700;
    padding: 30px;
    border-radius: 20px;
    color: #fff;
    animation: zoomIn 0.8s ease, bounce 3s infinite 1s;
}
@keyframes zoomIn { from { transform: scale(0); } to { transform: scale(1); } }
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } }

/* PASTOR SECTION (Connected to Carousel) */
.pastor-section { 
    margin-top: -5px; /* Removes microscopic gap */
    background: #fff; 
}
.bio-side { background: #f8f9fa; border-left: 8px solid #0C1844; }
.bible-card { background: #fff; padding: 15px; border-right: 5px solid #dc3545; border-radius: 8px; }

/* SCROLLING GALLERY */
.scroll-wrapper { overflow: hidden; width: 100%; height: 100%; }
.scroll-track { display: flex; gap: 20px; padding: 20px; animation: scrollLeft 30s linear infinite; }
.scroll-item { min-width: 300px; border-radius: 12px; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.1); overflow: hidden; }
.scroll-item img { width: 100%; height: 220px; object-fit: cover; }
@keyframes scrollLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* FOOTER */
.site-footer { background: #0C1844; border-top: 4px solid #FFD700; }
.social-links a { color: #fff; font-size: 1.5rem; transition: 0.3s; }
.social-links a:hover { color: #FFD700; transform: scale(1.2); }

/* MOBILE */
@media (max-width: 768px) {
    .main-title { font-size: 1.5rem; }
    .hero-item { height: 50vh; }
    .holy-box { padding: 15px; }
    
    .flyer-modal {
      align-items: flex-start;
      padding-top: 60px;
    }
    
    .flyer-content {
      width: 95%;
      max-height: 80vh;
      border-width: 3px;
    }
    
    .flyer-close {
      top: 5px;
      right: 10px;
      font-size: 1.8rem;
    }

}


/* Flyer Modal */
.flyer-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}

.flyer-modal.show {
  opacity: 1;
  pointer-events: auto;
  animation: fadeInZoom 0.8s ease;
}

.flyer-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
  border: 4px solid #FFD700;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 30px rgba(255,215,0,0.4);
}

.flyer-content img {
  width: 100%;
  height: auto;
  display: block;
}

.flyer-close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 2rem;
  color: #FFD700;
  cursor: pointer;
  transition: transform 0.3s;
}

.flyer-close:hover {
  transform: scale(1.2);
}

@keyframes fadeInZoom {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
