/* =========================
   THEME VARIABLES
========================= */

:root{
    --font-main: "Poppins", sans-serif;
    --primary-color: #47b948;
    --primary-dark: #085609;
    --heading-color: #183b56;
    --text-color: #000;
    --white: #ffffff;
    --border-color: #e3e3e3;
    --schedule-heading-bg: #0066cc;
}

.theme-green{ --primary-color: #47b948; --primary-dark: #085609; }
.theme-blue{ --primary-color: #0d6efd; --primary-dark: #084298; }
.theme-purple{ --primary-color: #7c3aed; --primary-dark: #5b21b6; }
.theme-orange{ --primary-color: #ff6b35; --primary-dark: #d9480f; }
.theme-dark{ --primary-color: #1f2937; --primary-dark: #111827; }

body{
   font-family: var(--font-main);
   display:flex;
   flex-direction:column;
   min-height:100vh;
}

html, body{ height:100%; }
section{ flex:1; }

h2{
  font-family:var(--font-main);
  font-weight:500;
  font-size:2rem !important;
  color:var(--heading-color);
}

p{
  font-family:var(--font-main);
  font-size:1rem;
  color:var(--text-color);
}

.navbar-brand img{ height:40px; }
.navbar-nav .nav-link{ font-family:var(--font-main); font-weight:500; }
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show{ color:var(--primary-dark) !important; }

.hrsmall{ width:60px; height:3px; background:black; opacity:0.8; }

.thumbnail-carousel img{ height:550px; object-fit:cover; }
.thumbnail-nav img{ width:100%; cursor:pointer; opacity:0.6; transition:0.3s; }
.thumbnail-nav img:hover,
.thumbnail-nav img.active-thumb{ opacity:1; border:2px solid var(--primary-color); }

#gotoTop{
  display:none;
  position:fixed;
  bottom:20px;
  right:30px;
  z-index:99;
  border:none;
  cursor:pointer;
  background:transparent;
}

.main-carousel img,
.carousel-item img{ height:550px; object-fit:cover; }

#organiser-message{ background-color:var(--primary-color); }
#organiser-message h2{ color:var(--white); font-size:1.2rem; }
#organiser-message p{ color:var(--white); font-weight:300; font-size:0.8rem; }

.association-section img{ max-width:200px; }
.partner-logo{
    background-color:var(--white);
    padding:1px;
    border-radius:6px;
    max-height:80px;
    object-fit:contain;
    width:20vw;
    max-width:90px;
}

.committee-user-name{
  font-weight:600;
  font-size:1rem;
  color:var(--heading-color);
  margin:15px 0 0;
}

.committee-user-desg{ font-size:0.8rem; color:var(--heading-color); }

.attraction-card{
    border:none;
    transition:0.3s;
    box-shadow:0 4px 15px rgba(0,0,0,0.08);
}

.attraction-card:hover{ transform:translateY(-5px); }
.attraction-card img{ height:220px; object-fit:cover; }
.attraction-card .card-title{ font-size:1rem; color:var(--heading-color); }
.attraction-card p,
.attraction-card p a{ font-size:0.8rem; color:var(--heading-color); }
.attraction-card .attaddress{ min-height:80px; }

.schedule-heading h5{
    font-size:1rem;
    font-weight:600;
    color:var(--white);
    background-color:var(--schedule-heading-bg);
    padding:8px 0;
}

.schedule-item{ border-bottom:1px solid var(--border-color); }
.schedule-item h3{ font-size:1.2rem; font-weight:600; color:var(--heading-color); }
.schedule-content{ padding:10px 0; font-size:1rem; }
.schedule-content h5{ font-weight:600; }
.schedule-content p{ margin-bottom:0; }
.schedule-time{ font-size:1rem; font-weight:600; padding-top:10px; }

.nav-pills .nav-link{ font-size:0.8rem; font-weight:600; color:var(--heading-color); }
.nav-pills .nav-link.active{ color:var(--white); background-color:var(--heading-color) !important; }

.login-btn{
    background-color:var(--primary-color);
    color:var(--white);
    border:0;
    border-radius:5px;
    padding:5px 10px;
}

.event-button{
    background-color:var(--primary-color) !important;
    color:var(--white) !important;
}

footer{
   background:var(--primary-color);
   color:var(--white);
   padding:20px 0;
}

footer h3{ font-size:1.2rem; }
footer p{ font-size:0.8rem; margin-bottom:6px; }
footer p a{ color:var(--white); }

header{
    text-align:center;
    padding:50px;
    background:var(--primary-color);
    color:var(--white);
}

.contact-container{ display:flex; gap:40px; padding:50px; }

.contact-form,
.contact-info{
    background:var(--white);
    padding:30px;
    border-radius:8px;
    width:50%;
    box-shadow:0 4px 8px rgba(0,0,0,0.1);
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:10px;
    margin:10px 0;
    border:1px solid #ccc;
    border-radius:5px;
}

.contact-form button{
    background:var(--primary-color);
    color:var(--white);
    border:none;
    padding:12px;
    width:100%;
    border-radius:5px;
}

.contact-form button:hover{ background:var(--primary-dark); }

.event-container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    padding:40px;
}

.event-card{
    background:var(--white);
    border-radius:10px;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
    overflow:hidden;
}

.event-image{
    width:100%;
    height:200px;
    object-fit:cover;
}

.event-info{ padding:20px; }
