/* ==========================================================================
   Header & Footer  —  ported from the new Aster Volunteers site.
   Loaded AFTER custom.css so these rules win over the legacy header styles.
   Source markup was Bootstrap 5; this project runs Bootstrap 4.4.1, so the
   BS5-only utilities used by that markup are polyfilled below.
   ========================================================================== */

/* --- Brand tokens -----------------------------------------------------------
   These came from the source site's root stylesheet, which was not part of the
   supplied CSS. Values below are derived from the gradients in that stylesheet
   (#164d92 / #e87722). Adjust here if the brand palette differs.            */
:root {
  --color-primary: #164d92;
  --color-secondary: #ffffff;
  --bg-color-orange: #e87722;
}

/* --- Bootstrap 5 utility polyfills (not present in Bootstrap 4) ------------ */
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }

.row.gy-4 {
  --bs-gutter-y: 1.5rem;
  row-gap: 1.5rem;
}

.fs-4 { font-size: 1.5rem; }

/* ==========================================================================
   Header
   ========================================================================== */
.header {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  padding: 0 20px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 100;
}

#mainHeader {
  transition: top 0.3s;
}

.header-logo img {
  height: 48px;
}

.header-nav ul {
  display: flex;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 13px;
}

.header-nav a {
/*  color: var(--color-primary);*/
  text-decoration: none;
  transition: color 0.2s;
}

.carousel-inner {
  overflow: visible !important;
}

/* Legacy custom.css paints the toggler solid blue; the new header uses the
   default Bootstrap burger icon instead. */
.header .navbar-toggler {
  background: transparent !important;
  border-color: rgba(22, 77, 146, 0.35);
}

.header .navbar-nav .nav-link {
  color: var(--color-primary);
}

.header-cta {
  padding: 8px 16px;
  border-radius: 100px;
  font-weight: bold;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
  /* Prevent text from breaking */
  box-shadow: 0 2px 8px rgba(0, 150, 136, 0.08);
  transition: background 0.2s;
}

.btn-login {
  border: var(--color-primary) 3px solid;
  background-color: var(--color-primary);
  color: var(--color-secondary);
}

.btn-login:hover {
  background-color: var(--color-secondary);
  color: var(--bg-color-orange);
  transform: translateZ(5px) scale(1.01);
}

.btn-signup.header-cta {
  position: relative;
  display: inline-block;
  font-weight: bold;
  color: var(--color-primary);
  background: linear-gradient(to left, #164d92, #e87722);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.btn-signup.header-cta:hover {
  color: var(--bg-color-orange);
  background: linear-gradient(to left, #e87722, #164d92);
  transform: translateZ(5px) scale(1.01);
}

.btn-signup.header-cta::before {
  content: "";
  position: absolute;
  top: 5%;
  left: 3%;
  right: 3%;
  bottom: 5%;
  background: var(--color-secondary);
  /* button bg */
  border-radius: 22px;
  z-index: 1;
}

.btn-signup.header-cta span {
  position: relative;
  z-index: 2;
  display: inline-block;
}

@media (max-width: 992px) {
  .header {
    padding: 0px !important;
    height: auto;
  }

  .nav-container {
    padding: 15px 40px;
  }
}
.nav-link{
    padding:7px!important;
}
.nav-item{
    font-size: 14px !important;
}
@media (min-width: 992px) and (max-width: 1400px) {
  .nav-item {
    font-size: 11px !important;
  }
  .header-logo img {
    height: 38px;
  }
  .header-cta {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}
/* ==========================================================================
   Footer
   ========================================================================== */
footer {
    background-color: var(--color-primary);
}

/* Footer Button Styles */
.btn-footer-download {
  background: linear-gradient(#ffffff, #ffffff) padding-box, linear-gradient(90deg, #f58220, #1f4e8c) border-box;
  color: var(--color-primary) !important;
  font-weight: 700;
  font-size: 12px;
  border-radius: 50rem;
  /* rounded-pill */
  padding: 0.5rem 1.5rem;
  display: inline-flex;
  align-items: center;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.btn-footer-download:hover {
  background-color: #f0f0f0 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.btn-footer-download i {
  font-weight: bold;
}

/* Enhance Footer Links Visibility */
footer a.text-white-50 {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none;
  transition: color 0.2s;
}

footer a.text-white-50:hover {
  color: #fff !important;
}

/* Footer layout spacing */
.footer-separator {
  border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
  margin-top: 20px;
  padding-top: 20px;
  font-size: 11px;
}

.address-text {
  font-size: 14px;
}

.download-buttons a {
  color: var(--color-primary);
  font-size: clamp(10px, 0.8vw, 16px);
}

footer ul li a {
  font-size: 11px;
}

footer h6 {
  font-size: 17px;
}

/* Footer mobile responsiveness - stack columns vertically */
@media (max-width: 576px) {

  /* Make all footer columns full width (stacked one by one) */
  footer .row.gy-4 > div[class*="col-"] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  footer .row.gy-4 > div[class*="col-"] ul {
    margin-bottom: 0;
  }

  footer .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }

  footer .row.gy-4 {
    --bs-gutter-y: 1.5rem;
  }
}
