/* =======================
   GENERAL STYLES
======================= */
body, h1, h2, h3, p, ul, li, a, input, textarea, button {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', Arial, sans-serif;
}

body {
  background: linear-gradient(to bottom right, #000, #006b3f, #ff0000);
  color: #fff;
  line-height: 1.7;
}

a {
  color: #ffd700;
  text-decoration: none;
}
a:hover { text-decoration: underline; }

section {
  padding: 60px 25px;
  text-align: center;
}
section:nth-child(even) {
  background: rgba(255, 255, 255, 0.05);
}

h1, h2, h3 {
  color: #ffd700;
  text-transform: uppercase;
}

p { margin: 15px 0; }
button { cursor: pointer; }

/* =======================
   HEADER
======================= */
header {
  background: rgba(0,0,0,0.95);
  padding:15px 20px;
  position:sticky;
  top:0;
  z-index:1000;
  box-shadow:0 3px 10px rgba(255,255,255,0.15);
}

.header-container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}

.header-left {
  display:flex;
  align-items:center;
  gap:12px;
}

.header-logo {
  width:90px;
  border-radius:10px;
  background:white;
  padding:5px;
  box-shadow:0 0 15px rgba(255,255,255,0.3);
}

.site-title {
  font-size:1.6rem;
  color:#ffd700;
  text-shadow:1px 1px 4px black;
}

/* =======================
   NAVIGATION
======================= */
nav {
  text-align:center;
  margin-top:10px;
}

nav a {
  color:white;
  margin:0 12px;
  font-weight:600;
}
nav a:hover { color:#ffd700; }

.search-bar {
  display:inline-block;
  margin-left:10px;
}

.search-bar input {
  padding:6px 10px;
  border-radius:5px;
  border:none;
  width:180px;
}

.search-bar button {
  padding:6px 12px;
  border:none;
  border-radius:5px;
  background:#ffd700;
  font-weight:bold;
  color:black;
}
.search-bar button:hover {
  background:white;
  color:black;
}

/* =======================
   NEWS BUTTONS
======================= */
#news {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:15px;
  padding:40px 20px;
}

#news a {
  padding:12px 22px;
  font-size:1.1rem;
  font-weight:600;
  color:#fff;
  background:linear-gradient(135deg,#006b3f,#ff0000);
  border-radius:12px;
  box-shadow:0 6px 15px rgba(0,0,0,0.3);
  transition:all 0.3s ease;
}

#news a:hover {
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(0,0,0,0.45);
  background:linear-gradient(135deg,#ffd700,#ff4500);
  color:#000;
}

/* =======================
   GALLERY (FIXED)
======================= */
.gallery-heading {
  text-align:center;
  margin-bottom:30px;
}

.gallery-container {
  position:relative;
  max-width:1000px;
  margin:40px auto;
  overflow:hidden;
  touch-action: pan-y;
}

.gallery-track {
  display:flex;
  flex-wrap: nowrap;                  /* 🔴 REQUIRED */
  transition: transform 0.6s ease-in-out;
  will-change: transform;
}

.gallery-item {
  min-width:280px;
  margin-right:20px;                  /* 🔴 MUST match JS */
  position:relative;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 0 10px rgba(255,255,255,0.12);
}

.gallery-item img {
  width:100%;
  height:200px;
  object-fit:cover;
  display:block;
}

.gallery-caption {
  position:absolute;
  bottom:0;
  width:100%;
  background:rgba(0,0,0,0.7);
  color:#ffd700;
  padding:8px 0;
  font-weight:bold;
  text-align:center;
}

/* Arrows */
.arrow-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,0.7);
  color:#ffd700;
  border:none;
  font-size:2rem;
  padding:6px 12px;
  border-radius:6px;
  cursor:pointer;
  z-index:20;
}

.arrow-left { left:6px; }
.arrow-right { right:6px; }

.arrow-btn:hover {
  background:#ffd700;
  color:black;
}

/* =======================
   ADMIN / PDF
======================= */
.pdf-upload {
  background: rgba(255,255,255,0.12);
  padding:18px;
  border-radius:10px;
  max-width:640px;
  margin:18px auto;
  text-align:left;
}

.pdf-upload label {
  display:block;
  margin-bottom:6px;
  font-weight:600;
}

.pdf-upload select,
.pdf-upload input,
.pdf-upload textarea {
  width:100%;
  padding:10px;
  margin:10px 0;
  border-radius:6px;
  border:none;
}

.pdf-upload button {
  padding:10px 20px;
  background:#ffd700;
  border:none;
  border-radius:6px;
  font-weight:700;
  color:black;
}

.pdf-viewer {
  background: rgba(255,255,255,0.06);
  padding:14px;
  border-radius:10px;
  margin:15px 0;
  overflow:auto;
  max-height:500px;
}

/* =======================
   CONTACT / FOOTER
======================= */
#contact {
  background: rgba(0,0,0,0.95);
  padding:50px 20px;
}

.social-icons {
  margin-top:15px;
}

.social-icons a {
  color:#ffd700;
  margin:0 12px;
  font-size:2.2rem;
  transition:0.25s;
  padding:8px;
}

.social-icons a:hover {
  color:white;
  transform:scale(1.15);
  background:rgba(255,255,255,0.05);
}

#footer p {
  color:#aaa;
  margin-top:15px;
  font-size:0.95rem;
}

/* =======================
   RESPONSIVE
======================= */
@media(max-width:600px){
  .gallery-item { min-width:220px; }
  .header-logo { width:70px; }
  .site-title { font-size:1.1rem; }
}
