/* -----------------------------
   HEADER CONTAINER
------------------------------ */
.header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 0 150px;
  background-color: var(--color4);
  box-shadow: 1px 0px 5px #00000021;
  transition: top 0.1s ease-in-out;
  z-index: 1000;
  box-sizing: border-box;
}

/* When header should be hidden (scrolling down) */
.hide-header {
  top: -100px;
}

/* -----------------------------
   LOGO
------------------------------ */
.logo {
  height: 40px;
  margin-top: 5px;
}

.logoLink {
  text-align: left;
  width: min-content;
}

/* -----------------------------
   HAMBURGER (Mobile Toggle)
------------------------------ */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0px;
  z-index: 1001;
  margin-right: 20px;
}

.hamburger-lines {
  width: 32px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.hamburger .line {
  width: 100%;
  height: 4px;
  background: var(--color1);
  border-radius: 2px;
  position: absolute;
  left: 0;
  transition: transform 0.3s ease, opacity 0.3s ease, all 0.3s ease;
}

.line.top {
  top: 0;
}

.line.middle {
  top: 10px;
}

.line.bottom {
  top: 20px;
}

/* Hamburger "X" Animation */
.hamburger.active .line.top {
  transform: rotate(45deg) translateY(14px);
}

.hamburger.active .line.middle {
  opacity: 0;
}

.hamburger.active .line.bottom {
  transform: rotate(-45deg) translateY(-15px);
}

/* -----------------------------
   MENU (Nav Links)
------------------------------ */
.menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.menu-item {
  padding: 5px 10px;
  margin: 10px;
  color: var(--color1);
  font-size: 1.25em;
  cursor: pointer;
  border-bottom: 1px solid var(--color4);
  transition: 0.5s;
  text-align: center;
}

.menu-item:hover {
  border-bottom: 1px solid var(--accentColor);
}

.menu-last {
  margin-left: 5px;
}

.mobile-only {
  display: none;
}

/* -----------------------------
   MEDIA QUERIES
------------------------------ */

/* Tablets & Smaller Screens */
@media (max-width: 1000px) {
  .wrap{
    padding-top: 40px;
  }
  .header {
    padding: 0 20px;
    height: 50px;
  }

  .hamburger {
    display: block;
    margin: auto;
    padding: 0px 10px;
  }

  .hamburger.active .line {
    left: 10px;
  }

  .mobile-only {
    display: block;
  }

  .menu {
    display: none;
  }

  .menu.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 40px;
    right: 0;
    width: 400px;
    background-color: var(--color4);
    padding: 20px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    animation: slideDown 0.3s ease forwards;
    z-index: 1000;
    border-radius: 0px 0px 0px 10px;
  }

  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }


 .menu-item {
    box-sizing: border-box;
    width: 100%;
    margin: 5px 0;
    padding: 10px;
    font-size: 1.2em;
    background-color: rgb(193 193 193 / 10%);
    border: 1px solid #00000042;
    border-radius: 8px;
    box-shadow: 0px 0px 2px 0px #0000001f;
} 
  .menu-last{
    box-sizing: border-box;
    width: 100%;
    margin: 5px 0 ;
    padding: 10px;
    font-size: 1.2em;
    border-radius: 8px;
  }

  .menu-item:hover {
    border: 1px solid var(--accentColor);
  }

  

  .menu-item:last-child {
    background-color: unset;
    text-align: center;
  }

}

@media screen and (max-width: 600px) {
  .menu.open {
    width: 100%;
    border-radius: 0;
  }
  
}

/* Medium Desktop Screens */
@media screen and (max-width: 1400px) {
  .header {
    padding: 0 10px;
  }

  .logo {
    height: 30px;
    margin-left: 10px;
    ;
  }
}



/* footer */

footer {
    background-color: var(--darkBg);
    color: #fff;
    padding: 40px 0 20px;
    font-size: 0.95em;
    display: flex; /* Make footer itself a flex container */
    flex-direction: column; /* Stack its children (container and bottom) vertically */
    align-items: center; /* Center footer content horizontally */
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    /* justify-content: center; /* Removed space-around, using gap for spacing */
    max-width: 1200px; /* Maximum width of your content area */
    width: 100%; /* Ensure it takes full width up to max-width */
    margin: 0 auto; /* Center the container itself */
    padding: 0 20px; /* Inner padding for content not to hit edges */
    gap: 30px; /* Space between columns, consistent now */
    justify-content: center; /* Center the columns within the container */
    box-sizing: border-box;
}

.footer-column {
    flex: 1; /* All columns grow equally */
    min-width: 250px; /* A good minimum width to prevent squishing on smaller desktops */
    margin-bottom: 20px; /* Space below columns on smaller screens */
    /* text-align: center; /* Optionally center text within columns if desired, but left-aligned is common */
}

/* Specific adjustment for the About Us column if it needs more relative space due to content */
.footer-column.about-us {
    min-width: 280px; /* Adjust min-width if needed to prevent squishing the longer text */
}

.footer-column h3 {
    color: #fff;
    margin-bottom: 15px;
    font-size: 1.1em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 5px;
}

.footer-column p {
    line-height: 1.6;
    margin-bottom: 10px;
}

/* Styling for the inline links */
.inline-links {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    justify-content: center; /* Keep links centered within their column */
}

.inline-links li {
    margin-bottom: 0;
}

.footer-column ul li a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.footer-column ul li a:hover {
    color: var(--primaryColor);
    text-decoration: underline;
}

/* Call to Action button styling */
.footer-button {
    display: inline-block;
    background-color: var(--primaryColor);
    color: #fff;
    padding: 12px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 15px;
    transition: background-color 0.3s ease, transform 0.2s ease;
    border: 1px solid var(--primaryColor);
}

.footer-button:hover {
    background-color: darken(var(--primaryColor), 10%);
    transform: translateY(-2px);
}

.footer-bottom {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    width: 100%; /* Ensure the bottom section spans full width */
    max-width: 1200px; /* Match max-width of container for alignment */
}

.footer-bottom p {
    font-size: 0.85em;
    margin: 0;
}

.footer-bottom a {
    color: #fff;
    text-decoration: underline;
    margin: 0 5px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column; /* Stack columns on smaller screens */
        align-items: center; /* Center content when stacked */
        text-align: center; /* Center text within columns when stacked */
    }

    .footer-column,
    .footer-column.about-us {
        min-width: unset; /* Remove min-width to allow full width */
        width: 100%; /* Take full width when stacked */
    }

    .inline-links {
        justify-content: center; /* Ensure links remain centered */
    }

    .footer-button {
        width: 80%; /* Make button wider on small screens */
        box-sizing: border-box;
    }
}