:root {
    --primary-blue: #004b8d;
    --secondary-blue: #007acc;
    --accent-red: #d5252f;
    --accent-orange: #f7941d;
    --accent-yellow: #ffc20e;
}

.banda-header {
    border-bottom: 4px solid #0d6efd;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.header-top {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.banda-header h2 {
    font-family: 'Noto Sans Devanagari', Arial, sans-serif;
    font-size: 1.8rem;
    margin: 0;
}

.banda-header h4 {
    font-size: 1.2rem;
    line-height: 1.1;
}

/* Home carousel */
#homeCarousel .carousel-caption {
    background: rgba(0,0,0,0.45);
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
}
#homeCarousel h3 { font-size: 1.8rem; }
@media (max-width: 768px) {
    #homeCarousel img { height: 260px !important; }
    #homeCarousel .carousel-caption { font-size: 0.9rem; }
}

/* Hero slider */
.hero-slide {
    width: 100%;
    height: 480px;
    object-fit: cover;
}
@media (min-width: 1200px) {
    .hero-slide { height: 520px; }
}
@media (max-width: 991.98px) {
    .hero-slide { height: 360px; }
}
@media (max-width: 575.98px) {
    .hero-slide { height: 240px; }
}

.hero-section { color: white; }
.hero-section h1 { text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }




/* Navbar & buttons */
.navbar {
    background-color: var(--primary-blue) !important;
}
.navbar .navbar-nav > .nav-item > .nav-link {
    border-radius: 999px;
    padding: 6px 8px;
    margin: 0 2px;
    color: #ffffff;
}
.navbar .navbar-nav > .nav-item > .nav-link:hover,
.navbar .navbar-nav > .nav-item > .nav-link:focus,
.navbar .navbar-nav > .nav-item > .nav-link.active {
    background-color: #ffffff;
    color: #004b8d !important;
}

/* Dropdown menu */
.navbar .dropdown-menu {
    border-radius: 12px;
    padding: 8px;
}
.navbar .dropdown-menu .dropdown-item {
    border-radius: 999px;
    padding: 6px 14px;
    margin: 2px 0;
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
    background-color: #004b8d;
    color: #ffffff;
}

/* Donate button (top-right in navbar) */
.navbar .btn-donate {
    border-radius: 999px;
    padding: 6px 18px;
}

/* Force Donate submit button to show always */
.donate-form .btn.btn-success.w-100.btn-sm,
.btn.btn-success.w-100.btn-sm {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Primary & donate buttons */
.btn-primary {
    background: linear-gradient(135deg, var(--primary-blue), var(--secondary-blue));
    border: none;
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,75,141,0.4);
}
.btn-donate {
    background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
    border: none;
    color: #fff;
}
.btn-donate:hover {
    box-shadow: 0 5px 15px rgba(213,37,47,0.4);
}

/* Global background */
body {
    background-color: #f7f7f7;
}

.navbar-brand { font-family: 'Georgia', serif; }

/* Cards & generic success button (if you want custom green, define greens) */
.card {
    transition: all 0.3s ease;
    border-radius: 15px;
}
.hover-lift:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
}

/* Optional: if you really need custom success colors,
   define green variables first:
   :root { --primary-green:#2e8b57; --secondary-green:#3fbf7f; }
*/
.btn-success {
    border: none;
}
.btn-success:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(46,139,87,0.4);
}

.progress { border-radius: 10px; background: #e9ecef; }
.badge { font-size: 0.75em; }

/* Mobile */
@media (max-width: 768px) {
    .hero-section h1 { font-size: 2rem; }
    .navbar-brand { font-size: 1.25rem; }
}

/* Footer */
.footer-main {
    background: #001629;
    position: relative;
    color: #ffffff;
}
.footer-gradient-top {
    height: 4px;
    background: linear-gradient(90deg,
        #004b8d 0%,
        #007acc 25%,
        #ffc20e 50%,
        #f7941d 75%,
        #d5252f 100%);
}
.footer-link {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
}
.footer-link:hover {
    color: #ffc20e;
    text-decoration: underline;
}
.footer-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, #007acc, #004b8d);
    color: #fff;
    text-decoration: none;
    font-size: 0.9rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.footer-social:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
    background: linear-gradient(135deg, #f7941d, #d5252f);
}
.footer-divider {
    border-color: rgba(255,255,255,0.1);
}
@media (max-width: 768px) {
    .footer-main { text-align: center; }
}

/* custom 5-column layout on large screens */
@media (min-width: 992px) {
  .col-lg-2_4 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

/* Nested submenu */
.dropdown-submenu {
    position: relative;
}
.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -0.25rem;
    margin-left: 0;
}
@media (min-width: 992px) {
    .dropdown-submenu:hover > .dropdown-menu {
        display: block;
    }
}

 .team-scroller {
    display: flex;
    gap: 25px;
    animation: scroll-left 40s linear infinite;
    padding: 0 60px;
}

.team-scroller:hover {
    animation-play-state: paused;
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.333%); } /* 3 loops = 33% */
}

.team-card {
    flex: 0 0 280px; /* Fixed width, 4 visible at 1200px screen */
    transition: transform 0.3s ease;
}

.team-card:hover {
    transform: translateY(-10px);
}

.team-card .card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 24px !important;
}

.team-card:hover .card {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
}

.team-prev, .team-next {
    transition: all 0.3s ease;
}

.team-prev:hover, .team-next:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

/* Responsive */
@media (max-width: 1200px) {
    .team-card { flex: 0 0 260px; }
}
@media (max-width: 992px) {
    .team-card { flex: 0 0 240px; }
}
@media (max-width: 768px) {
    .team-card { flex: 0 0 200px; }
    .team-scroller { gap: 20px; padding: 0 40px; }
}

 
/* Donation modal */
.bg-donation {
  background-image:
    linear-gradient(135deg, rgba(0,75,141,0.8), rgba(0,181,160,0.7)),
    url('images/donation-bg.jpg');
  background-size: cover;
  background-position: center;
}
.donation-overlay {
  background: radial-gradient(circle at top, rgba(255,255,255,0.15), transparent 60%);
}
#donationModal .modal-content {
  border-radius: 18px;
}
#donationModal .badge {
  font-size: 0.8rem;
}
 

 
.team-scroller {
    display: flex;
    gap: 25px;
    animation: scroll-left 40s linear infinite;
    padding: 0 60px;
}

.team-scroller:hover {
    animation-play-state: paused;
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.333%); } /* 3 loops = 33% */
}

.team-card {
    flex: 0 0 280px; /* Fixed width, 4 visible at 1200px screen */
    transition: transform 0.3s ease;
}

.team-card:hover {
    transform: translateY(-10px);
}

.team-card .card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 24px !important;
}

.team-card:hover .card {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
}

.team-prev, .team-next {
    transition: all 0.3s ease;
}

.team-prev:hover, .team-next:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

/* Responsive */
@media (max-width: 1200px) {
    .team-card { flex: 0 0 260px; }
}
@media (max-width: 992px) {
    .team-card { flex: 0 0 240px; }
}
@media (max-width: 768px) {
    .team-card { flex: 0 0 200px; }
    .team-scroller { gap: 20px; padding: 0 40px; }
}
.team-row-5 {
    display: flex;
    gap: 18px;
    justify-content: center;
}

.team-card-5 {
    flex: 0 0 calc(20% - 15px); /* 5 per row */
    max-width: 220px;
}

.team-photo-5 {
    position: relative;
    height: 190px;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    background: #f8f9fa;
}

.team-photo-5 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;  /* ← MAGIC: Centers faces, 25% from top */
}

.avatar-fallback-5 {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    color: #fff;
    font-size: 2.5rem;
    font-weight: 700;
}

/* Perfect portrait handling */
.team-photo-5 img.portrait {
    object-position: center 20%;  /* Even better for portrait photos */
}


.hover-scale {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hover-scale:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 30px rgba(0,0,0,0.12);
}

/* Mobile handling */
@media (max-width: 991.98px) {
    .team-row-5 {
        flex-wrap: wrap;
    }
    .team-card-5 {
        flex: 0 0 45%;
        max-width: none;
    }
}
@media (max-width: 575.98px) {
    .team-card-5 {
        flex: 0 0 100%;
    }
}

/* PERFECT PROFILE PHOTO */
.portrait-profile-photo {
    object-fit: cover;
    object-position: center 25% !important;  /* Face centered, 25% from top */
}

.avatar-profile-fallback {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%) !important;
}

/* Fallback for older browsers */
.portrait-profile-photo, .avatar-profile-fallback {
    transition: transform 0.3s ease;
}

.portrait-profile-photo:hover {
    transform: scale(1.05);
}
/* TEAM COMPACT - ADD THESE */
.team-row-5 { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.team-card-5 { flex: 0 0 18%; max-width: 200px; margin: 0.5rem; }
.team-photo-5 { 
  width: 85px; height: 85px; border-radius: 50%; 
  overflow: hidden; margin: 0 auto 0.5rem;
}
.team-photo-5 img { 
  width: 100%; height: 100%; object-fit: cover; object-position: center 25%;
  border: 3px solid white; border-radius: 50%;
}
.team-card-5 h6 { font-size: 0.85rem; margin-bottom: 0.25rem; }
.team-card-5 p { font-size: 0.7rem; color: #004b8d; text-transform: uppercase; }
.team-card-5 .btn { font-size: 0.65rem; padding: 0.3rem 0.8rem; }
@media (max-width: 768px) { .team-card-5 { flex: 0 0 45%; } }
@media (max-width: 480px) { .team-card-5 { flex: 0 0 100%; } }

/* PERFECT 5-IN-ROW TEAM GRID */
.team-card-compact {
  transition: all 0.3s ease;
  background: linear-gradient(145deg, #fff, #f8f9fa);
  border: 1px solid #e9ecef !important;
  height: 100%;
}

.team-photo-circle {
  width: 85px !important;
  height: 85px !important;
  position: relative;
}

.team-photo-circle-img,
.team-avatar-circle {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover;
  object-position: center 25%;
  border: 4px solid #fff !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

.team-avatar-circle {
  background: linear-gradient(135deg, #004b8d, #007acc) !important;
  color: white !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem !important;
  font-weight: 700;
}

.compact-team-info {
  min-height: 50px !important;
  padding: 0 4px;
}

.name-compact {
  font-size: 0.82rem !important;
  line-height: 1.1 !important;
  margin-bottom: 2px !important;
  color: #1f2937 !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.designation-compact {
  font-size: 0.7rem !important;
  line-height: 1.15 !important;
  color: #004b8d !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 6px !important;
}

.team-card-compact .btn {
  font-size: 0.68rem !important;
  padding: 4px 12px !important;
  border-radius: 18px !important;
}

/* MOBILE RESPONSIVE */
@media (max-width: 991px) {
  .team-photo-circle { width: 75px !important; height: 75px !important; }
}
@media (max-width: 575px) {
  .team-photo-circle { width: 65px !important; height: 65px !important; }
  .name-compact { font-size: 0.78rem !important; }
}

/* PERFECT VERTICAL NEWS MARQUEE - TOP TO BOTTOM */
.news-viewport {
  height: 180px;
  overflow: hidden;
  background: linear-gradient(180deg, #f8f9fa 0%, #e9ecef 50%, #f8f9fa 100%);
  border-radius: 12px;
  padding: 20px 15px;
  margin: 20px 0;
  position: relative;
}

.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
  animation: news-vertical 30s linear infinite;
}

.news-list li {
  padding: 12px 0;
  border-bottom: 1px dashed #dee2e6;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #495057;
  transition: all 0.3s ease;
}

.news-list li:last-child {
  border-bottom: none;
}

.news-list li a {
  color: #1f2937 !important;
  text-decoration: none;
  font-weight: 500;
}

.news-list li a:hover {
  color: #004b8d !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* VERTICAL ANIMATION - TOP TO BOTTOM */
@keyframes news-vertical {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}

/* PAUSE ON HOVER */
.news-viewport:hover .news-list {
  animation-play-state: paused;
}

/* MOBILE */
@media (max-width: 768px) {
  .news-viewport { height: 140px; padding: 15px 12px; }
  .news-list li { font-size: 0.9rem; padding: 10px 0; }
}
