/* ==============================
   GLOBAL BASE STYLES
   ============================== */
body {
  font-family: Arial, sans-serif;
  background: #E0F7F7;              /* pale teal */
  margin: 0;
  padding: 1rem;
  font-size: 18px;                  /* accessible body text */
  line-height: 1.6;
  color: #4A2C2A;                   /* dark brown */
}

/* ==============================
   HEADER WITH LOGO + TITLE
   ============================== */
header {
  background: #008080;              /* teal */
  color: white;
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 5px;

  display: flex;
  align-items: center;              /* align logo + text */
  gap: 1rem;
}

header img {
  height: 75px;
  width: auto;
  display: block;
}

.header-text h1 {
  margin: 0;
  font-size: 24px;
}

.header-text p {
  margin: 0;
  font-size: 16px;
}

/* ==============================
   NAVIGATION (TOP NAV BAR)
   ============================== */
.top-nav {
  background: none;                 /* no heavy background */
  padding: 10px 0;
}

.top-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
}

.top-nav ul li a {
  background: #4f8989;              /* dark teal pill buttons */
  color: white;
  font-size: 16px;                  /* smaller than body */
  padding: 8px 16px;
  border-radius: 25px;
  text-decoration: none;
  display: inline-block;
  font-weight: 600;
  transition: 0.2s ease;
}

.top-nav ul li a:hover {
  background: #009999;              /* lighter teal on hover */
  transform: translateY(-2px);
}


/* ==============================
   DROPDOWN MENU
   ============================== */

/* Positioning the dropdown container */
.dropdown {
  position: relative;
}

/* Dropdown menu hidden by default */
.dropdown-menu {
  display: none;
  position: absolute;
  background: #006666;          /* dark teal like nav buttons */
  padding: 0.5rem 0;
  margin: 0;
  list-style: none;
  border-radius: 10px;
  min-width: 180px;
  z-index: 1000;
}

.dropdown-menu li a.active {
  background: #00b3b3;
  border-radius: 10px;
}


/* Dropdown links */
.dropdown-menu li a {
  display: block;
  padding: 10px 16px;
  color: white;
  text-decoration: none;
  font-size: 16px;
}

/* Hover effect for dropdown links */
.dropdown-menu li a:hover {
  background: #009999;
  border-radius: 10px;
}


/* When .open class is added to .dropdown */
.dropdown.open .dropdown-menu {
  display: block;
}



/* Ensure dropdown is on top of nav bar */
.top-nav {
  position: relative;
  z-index: 500;
}



/* ==============================
   SECTIONS
   ============================== */
section {
  background: white;
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 5px;
  border: 1px solid #AADDDD;
}

.meta {
  font-size: 16px;
  color: #4A2C2A;
}

/* ==============================
   TASK BLOCKS
   ============================== */
.task {
  border-top: 1px solid #C0E7E7;
  padding-top: 1rem;
  margin-top: 1rem;
}

/* ==============================
   DOWNLOAD LINKS
   ============================== */
.download-link {
  display: inline-block;
  margin: 0.5rem 0;
  background: #D4FAFA;
  padding: 0.4rem 0.6rem;
  border-radius: 4px;
  text-decoration: none;
  color: #008080;
  font-size: 16px;
  border: 1px solid #7DDDDD;
}

.download-link:hover {
  background: #B3EFEF;
}

/* ==============================
   FORM INPUTS
   ============================== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="file"],
textarea,
select {
  font-size: 16px;
  padding: 6px 10px;
  margin: 0.3rem 0;
  width: 100%;
  max-width: 400px;
  border: 1px solid #A0DAD8;
  border-radius: 4px;
  box-sizing: border-box;
}

label {
  font-size: 16px;
  margin: 0.3rem 0;
  display: block;
}

/* ==============================
   BUTTONS
   ============================== */
.btn,
.submit-btn,
.yes-btn,
.no-btn {
  font-size: 18px;
  padding: 10px 16px;
  border-radius: 6px;
  cursor: pointer;
  border: none;
  margin: 0.3rem;
  color: white;
}

/* Specific Colours */
.submit-btn { background: #3B1F1D; }
.yes-btn    { background: #008080; }
.no-btn     { background: #6A423F; }

.file-upload-wrapper {
  position: relative;
  overflow: hidden;
  display: inline-block;
}

.file-upload-btn {
  background: #008080;
  color: white;
  padding: 10px 16px;
  border-radius: 25px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
}

.file-upload-input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
}


/* ==============================
   CONFIRMATION BOXES
   ============================== */
.confirm-box {
  margin-top: 1rem;
  padding: 1rem;
  background: #F1FBFB;
  border-left: 4px solid #008080;
  border-radius: 4px;
}

.final-message {
  margin-top: 1rem;
  padding: 1rem;
  background: #E4FFF4;
  border-left: 4px solid #2A9A7A;
}




/* MOBILE HAMBURGER BUTTON */
.hamburger {
  display: none;
  background: #006666;
  color: #fff;
  border: none;
  font-size: 26px;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
}

/* MOBILE BEHAVIOUR */
@media (max-width: 850px) {
  .hamburger {
    display: block;
    margin-left: auto;
  }

  .top-nav ul {
    display: none;
    flex-direction: column;
    background: #D4FAFA;
    padding: 1rem;
    border-radius: 5px;
  }

  .top-nav ul.show {
    display: flex;
  }

  .top-nav ul li a {
    width: 100%;
    text-align: center;
  }
}