/* ================= GLOBAL ================= */
body{
  font-family:'Poppins',sans-serif;
  background:#eef5f1;
  margin:0;
}

/* ================= HEADER ================= */
.header{
  position:fixed;
  top:0;
  width:100%;
  background:rgba(15,61,46,0.85);
  backdrop-filter:blur(8px);
  color:#fff;
  padding:10px 30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:1000;
  transition:all 0.4s ease;
}
.header.small{
  background:rgba(15,61,46,0.6);
  padding:6px 30px;
}

.logo{
  display:flex;
  align-items:center;
  gap:10px;
}
.logo img{
  height:40px;
}

/* ================= LAYOUT ================= */
.layout{
  margin-top:80px;
}

.main{
  margin-left:250px;
}

/* ================= SIDEBAR ================= */
.sidebar{
  width:230px;
  background:#1b5e20;
  color:#fff;
  padding:20px;
  position:fixed;
  height:100%;
}
.sidebar a{
  display:block;
  color:#fff;
  margin:12px 0;
  text-decoration:none;
}

/* ================= HERO / CAROUSEL ================= */
.carousel-item{
  height:calc(100vh - 80px);
}
.carousel-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.overlay{
  position:absolute;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.4);
}

.carousel-caption{
  bottom:40%;
  transform:translateY(50%);
}

/* ================= CARDS ================= */
.card{
  border:none;
  border-radius:12px;
  box-shadow:0 8px 25px rgba(0,0,0,0.08);
  margin-bottom:20px;
  animation:fadeUp 0.8s ease;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}

/* ================= RIGHT SIDEBAR ================= */
.rightbar{
  background:#e8f5e9;
  padding:20px;
  border-radius:12px;
  position:sticky;
  top:90px;
}

/* ================= FLOOR GRID ================= */
.floor-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
}
.booth{
  background:#c8e6c9;
  padding:20px;
  text-align:center;
  border-radius:8px;
  cursor:pointer;
}
.booth:hover{
  background:#66bb6a;
  color:#fff;
}

/* ================= ORGANISERS ================= */
.organiser{
  text-align:center;
}
.organiser img{
  border-radius:50%;
  width:120px;
  height:120px;
  object-fit:cover;
}

/* ================= GALLERY ================= */
.gallery img{
  width:100%;
  border-radius:10px;
  transition:0.4s;
}
.gallery img:hover{
  transform:scale(1.05);
}

/* ================= SPONSORS (FIXED SAFE VERSION) ================= */
.sponsors-section{
  padding:40px 20px;
  background:#ffffff;
  text-align:center;
}

.sponsor-slider{
  overflow:hidden;
  position:relative;
  width:100%;
}

.sponsor-track{
  display:flex;
  width:calc(250px * 14);
  animation:sponsorScroll 25s linear infinite;
}

.sponsor-item{
  width:250px;
  flex-shrink:0;
  padding:15px;
}

.sponsor-item img{
  width:80px;
  margin-bottom:10px;
}

.sponsor-item h4{
  font-size:1rem;
  margin:5px 0;
}

.sponsor-item p{
  font-size:0.8rem;
  color:#555;
}

@keyframes sponsorScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ================= FOOTER ================= */
footer{
  background:#111;
  color:#aaa;
  text-align:center;
  padding:20px;
  margin-top:20px;
}

/* ================= RESPONSIVE ================= */
@media (max-width:992px){
  .sidebar{
    display:none;
  }
  .main{
    margin-left:0;
  }
}

@media (max-width:768px){
  .carousel-item{
    height:60vh;
  }
}
/* STATS */
.stats{
  background:#1b5e20;
  color:#fff;
  padding:40px;
  text-align:center;
}
.stat-box{font-size:1.8rem;font-weight:700;}
.stat-box span{display:block;font-size:0.9rem;}