body {
    font-family: 'Noto Sans Bengali', sans-serif;
    margin: 0;
    padding: 0;
}

/* ===== NAVBAR ===== */
.glass-navbar {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
}

.site-logo {
    height: 42px;
}

.brand-text {
    color: #470000;
    font-size: 2rem;
}

/* Nav Links */
.nav-link {
    color: #1a1a1a;
    font-weight: 500;
    position: relative;
    transition: color 0.2s ease;
}

.nav-link:hover {
    color: #00a732;
}

/* Animated underline */
.animated-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0%;
    height: 2px;
    background: #00a732;
    transition: width 0.2s ease;
}

.animated-link:hover::after {
    width: 100%;
}

/* ===== CAROUSEL ===== */
.carousel-item img {
    height: 85vh;
    object-fit: cover;
}

.carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 255, 255, 0.15);
}

/* ===== MARQUEE ===== */
.marquee-wrapper {
    overflow: hidden;
    background: #d4f7d4;
    color: black;
    padding: 10px 0;
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: scrollMarquee 20s linear infinite;
}

.marquee-content {
    white-space: nowrap;
    padding-right: 80px;
    font-weight: 500;
}

@keyframes scrollMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ===== FOOTER ===== */
.site-footer {
    background: #00a732;
    color: #ffffff;
    padding: 14px 10px;
    font-size: 0.95rem;
}

h2 {
    color: #33aaff;
    font-weight:900;
    font-size:2.5em;
    margin-top: 25px;
    margin-bottom: 10px;
}

/* ===== LANGUAGE SWITCH ===== */

.language-toggle-wrapper{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
}

.lang-label{
    font-weight:600;
    font-size:16px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 26px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  border-radius: 34px;
  transition: 0.3s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  border-radius: 50%;
  transition: 0.3s;
}

input:checked + .slider {
  background-color: #00a732;
}

input:checked + .slider:before {
  transform: translateX(26px);
}

/* GALLERY HEADER */

.gallery-header{
padding-top:100px;
padding-bottom:40px;
background:#f8ffff;
}

.gallery-title{
font-weight:700;
color:#004444;
}

.gallery-subtitle{
color:#555;
max-width:600px;
margin:auto;
}

/* EVENT SECTION */

.gallery-section{
padding-top:100px;
padding-bottom:60px;
}

.event-block{
margin-bottom:60px;
}

.event-title{
font-weight:700;
color:#004444;
margin-bottom:8px;
}

.event-desc{
color:#555;
max-width:700px;
margin-bottom:25px;
}

/* GOOGLE PHOTOS STYLE GRID */

.photo-grid{
column-count:3;
column-gap:12px;
}

.photo-grid img{
width:100%;
margin-bottom:12px;
border-radius:10px;
cursor:pointer;
transition:0.35s;
box-shadow:0 5px 15px rgba(0,0,0,0.12);
}

.photo-grid img:hover{
transform:scale(1.03);
}

/* RESPONSIVE */

@media (max-width:900px){

.photo-grid{
column-count:2;
}

}

@media (max-width:500px){

.photo-grid{
column-count:1;
}

}

/* FULLSCREEN IMAGE VIEWER */

.image-viewer{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

.image-viewer img{
max-width:90%;
max-height:90%;
border-radius:8px;
}

/* CTA SECTION */

.cta-section{
background:linear-gradient(135deg,rgba(2,135,153,0.9),rgba(133,241,255,0.9)), url('images/logo.png');
background-position:center;
background-repeat:no-repeat;
background-size:cover;
background-attachment:fixed;
padding:80px 20px;
color:white;
}

.cta-title{
font-size:2.2rem;
font-weight:700;
margin-bottom:15px;
}

.cta-text{
max-width:650px;
margin:auto;
margin-bottom:35px;
opacity:0.95;
font-weight:bold;
}

/* CTA BUTTONS */

.cta-buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

/* CUSTOM BUTTON */

.custom-btn{
position:relative;
display:inline-block;
padding:12px 32px;
border-radius:40px;
font-weight:600;
text-decoration:none;
transition:all 0.35s ease;
overflow:hidden;
}

/* DONATE BUTTON */

.donate-btn{
background:white;
color:#0099b5;
}

.donate-btn:hover{
background:#0205ba;
color: white;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.donate-btn-lightmode{
background: linear-gradient(135deg, #ff9a3c, #ff5e1a);
color:white;
position:relative;
display:inline-block;
padding:8px 32px;
border-radius:40px;
font-weight:700;
text-decoration:none;
transition:all 0.35s ease;
overflow:hidden;
box-shadow: 0 4px 16px rgba(255, 94, 26, 1);
animation: contribute-glow 1s ease-in-out infinite;
}

.donate-btn-lightmode:hover{
background: linear-gradient(135deg, #ff5e1a, #e6470a);
transform: translateY(-3px);
box-shadow: 0 10px 25px rgba(255, 94, 26, 0.5);
animation-play-state: paused;
}

@keyframes contribute-glow {
    0%, 100% { box-shadow: 0 4px 16px rgba(255, 94, 26, 0.35); }
    50% { box-shadow: 0 4px 22px rgba(255, 94, 26, 0.65); }
}

@media (prefers-reduced-motion: reduce) {
    .donate-btn-lightmode {
        animation: none;
    }
}

/* JOIN BUTTON */

.join-btn{
border:2px solid white;
color:white;
}

.join-btn:hover{
background:#0205ba;
color:white;
border:2px solid #0205ba;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.join-btn-lightmode {
border:2px solid #00a732;
color:#00a732;
position:relative;
display:inline-block;
padding:6px 32px;
border-radius:40px;
font-weight:600;
text-decoration:none;
transition:all 0.35s ease;
overflow:hidden;
}

.join-btn-lightmode:hover{
background:#0205ba;
color:white;
border:2px solid #0205ba;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}


/* NAVBAR BUTTONS MOBILE FIX */

@media (max-width: 991px){

    .navbar-nav .nav-item:last-child{
        flex-direction: column;
        align-items: stretch;
        margin-top: 10px;
    }

    .join-btn-lightmode,
    .donate-btn-lightmode{
        width: 100%;
        text-align: center;
    }
}

/* CONNECT SECTION */

.connect-section{
padding-top:110px;
padding-bottom:40px;
}

.connect-card{
background:white;
padding:30px;
border-radius:12px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
text-align:center;
transition:0.3s;
}

.connect-card:hover{
transform:translateY(-6px);
box-shadow:0 12px 30px rgba(0,0,0,0.15);
}

.connect-link{
display:block;
margin-top:10px;
color:#0099b5;
font-weight:600;
text-decoration:none;
transition:0.3s ease;
}

.connect-link:hover {
    color:#610000;
}

.social-links{
display:flex;
flex-direction:column;
gap:8px;
margin-top:10px;
}

.social-links a{
text-decoration:none;
color:#0099b5;
font-weight:500;
}

/* DONATE SECTION */

.donate-section{
background:#f6fcff;
padding:60px 20px;
margin-top:40px;
border-radius:10px;
}

.donate-text{
max-width:600px;
margin:auto;
margin-bottom:25px;
}


/* CONTACT FORM */

.contact-form-section{
margin-top:60px;
}

.contact-form{
max-width:700px;
margin:auto;
}

.form-control{
border-radius:8px;
padding:10px;
}

/* ======================= */
/* BASE ICON STYLE */
/* ======================= */

.social-dock{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 18px;
    margin-top: 15px;
}

.social-icon{
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    text-decoration: none;
    color: white;
    transition: all 0.3s ease;
}


/* ======================= */
/* ORIGINAL BRAND COLORS */
/* ======================= */

.facebook{
    background: #1877F2;
}

.instagram{
    background: linear-gradient(
        45deg,
        #f09433,
        #e6683c,
        #dc2743,
        #cc2366,
        #bc1888
    );
}

.youtube{
    background: #FF0000;
}

.twitter{
    background: #000000;
}


/* ======================= */
/* HOVER → MINIMAL STYLE */
/* ======================= */

.social-icon:hover{
    background: rgba(255,255,255,0.9);
    color: #0099b5;
    backdrop-filter: blur(10px);

    transform: scale(1.35) translateY(-6px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.18);
}
