/* Basic reset and base styles */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #111;
}

:root {
  --nav-height: 64px;
  --nav-padding: 16px 24px;
  --nav-gap: 28px;
  --white-block-radius: 10px;
  --transition-fast: 300ms;
  --transition-medium: 600ms;
}

/* Hero with background image behind the navbar */
.hero {
  min-height: 100vh;
  background: url('DSC02321.jpg') center / cover no-repeat fixed;
  position: relative;
}
/* no overlay text in hero */

.content { display: none; }

 .footer {
      background-color: #00326b;
      color: white;
      padding: 40px 80px;
      font-family: 'Arial', sans-serif;
      position: relative;
    }

    .footer-columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 40px;
    }

    .footer-column {
      flex: 1;
      min-width: 250px;
      margin-right: 40px;
    }

    .footer-column h3 {
      font-size: 22px;
      margin-bottom: 20px;
      font-weight: bold;
    }

    .footer-column p {
      font-size: 14px;
      line-height: 1.6;
    }

    .footer-column ul {
      list-style: none;
      padding: 0;
    }

    .footer-column ul li {
      margin-bottom: 10px;
    }

    .footer-column ul li a {
      color: white;
      text-decoration: none;
      font-weight: bold;
      font-size: 14px;
    }

    .footer-column ul li a:hover {
      text-decoration: underline;
    }

    .footer-logos {
      margin-top: 20px;
    }

    .footer-logos img {
      height: 40px;
      margin-right: 15px;
      vertical-align: middle;
    }

    .footer-bottom {
      text-align: center;
      color: #ddd;
      font-size: 13px;
    }

    .scroll-to-top {
      position: fixed;
      bottom: 20px;
      right: 20px;
      background-color: #007bdb;
      color: white;
      width: 35px;
      height: 35px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      cursor: pointer;
      box-shadow: 0 0 10px rgba(0,0,0,0.3);
      z-index: 100;
    }

    .scroll-to-top:hover {
      background-color: #005fa3;
    }

/* Navbar positioned top-right */
.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--nav-height);
  display: flex;
  justify-content: flex-end; /* keep links on the right */
  align-items: center;
  transform: translateY(12px);
  opacity: 0;
}

/* Enter animation: comes smoothly from below on page load */
.site-nav.loaded {
  transition: transform var(--transition-medium) cubic-bezier(.21,1,.29,1),
              opacity var(--transition-medium) ease;
  transform: translateY(0);
  opacity: 1;
}

.nav-links {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--nav-gap);
  padding: var(--nav-padding);
  margin-right: 0; /* burger sits inline to the left now */
  transition: transform var(--transition-medium) cubic-bezier(.21,1,.29,1),
              opacity var(--transition-medium) ease;
}

.nav-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: var(--nav-gap);
  transition: opacity var(--transition-medium) ease,
              transform var(--transition-medium) ease;
}

.nav-links a {
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #ffffff;
  font-size: 18px;
  transition: color var(--transition-fast) ease;
}
.nav-links a:hover { text-decoration: underline; }

/* White block background spans the whole top and slides in */
.site-nav::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
  border-radius: 0 var(--white-block-radius) var(--white-block-radius) 0; /* subtle rounded right edge */
  background: #ffffff;
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
  z-index: -1; /* behind nav content */
  transition: width var(--transition-medium) cubic-bezier(.21,1,.29,1);
}

.site-nav.scrolled::before {
  width: 100%;
}

.site-nav.scrolled .nav-links a { color: #111; }
.site-nav.scrolled .menu-toggle { color: #111; }

/* Simple collapse: hide links with opacity/translate and keep button visible */
.site-nav.links-hidden .nav-links ul {
  opacity: 0;
  transform: translateX(24px);
  pointer-events: none;
}

/* Improve link click targets on mobile */
@media (max-width: 640px) {
  :root { --nav-gap: 14px; --nav-height: 56px; }
  /* hamburger icon */
  /* collapse links by default on mobile */
  .nav-links {
    display: none;
    position: absolute;
    right: 8px;
    top: calc(var(--nav-height) + 6px);
    flex-direction: column;
    gap: 12px;
    padding: 12px 14px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.15);
  }
  .nav-links ul { flex-direction: column; gap: 12px; }
  .nav-links a { color: #111; font-weight: 600; font-size: 17px; }

  /* when nav is open, show the dropdown */
  .site-nav.nav-open .nav-links { display: inline-flex; }
}

/* Desktop: clicking burger collapses links by sliding to the right */
@media (min-width: 641px) {
  .site-nav.collapsed .nav-links {
    /* override old collapse: keep container in place so button can fade back */
    transform: none;
    opacity: 1;
    pointer-events: none;
  }
  /* optionally retract the white block background when collapsed */
  .site-nav.collapsed::before {
    width: 0;
  }
}
/* Burger button styles (visible on all screens) */
.menu-toggle {
  /* inline within nav-links to the left of the first item */
  position: static;
  transform: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 10px;
  z-index: 3; /* above any backgrounds */
}
.hamburger {
  width: 24px;
  height: 16px;
  position: relative;
  display: inline-block;
}
.hamburger::before,
.hamburger::after,
.hamburger span {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}
.hamburger::before { top: 0; }
.hamburger span { top: 7px; }
.hamburger::after { bottom: 0; }
/* Enhancements: spin-then-swipe overlay on desktop, inline burger left of Shop, refined mobile dropdown */
:root { --overlay-delay: 350ms; }

/* Keep burger inline within nav-links and clip overlay */
.nav-links { overflow: hidden; }
.menu-toggle { position: static; transform: none; }

/* Fade links while overlay passes */
.site-nav.overlay-active .nav-links a {
  opacity: 0;
  transition: opacity var(--transition-fast) ease;
  transition-delay: 250ms;
  pointer-events: none;
}

/* Disable the previously added overlay entirely */
.nav-links::after { display: none !important; }

/* Burger spin animation trigger */
.menu-toggle.spin { transition: transform var(--transition-fast) ease; transform: rotate(360deg); }

/* Mobile overrides: keep burger visible, dropdown opens below */
@media (max-width: 640px) {
  .nav-links { position: relative; display: inline-flex !important; }
  .nav-links ul {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    flex-direction: column;
    gap: 12px;
    padding: 12px 14px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.15);
  }
  .site-nav.nav-open .nav-links ul { display: inline-flex; }
  .nav-links::after { display: none; }
}

/* Desktop tweak: disable pointer events while overlay active/collapsed */
@media (min-width: 641px) {
  /* ensure collapse uses overlay rather than sliding away */
  .site-nav.collapsed .nav-links { pointer-events: none; transform: none !important; opacity: 1 !important; }
  .site-nav.collapsed .menu-toggle { pointer-events: auto; }
}
/* Smoother, slower animations and button fade behavior */
:root {
  --transition-fast: 500ms;
  --transition-medium: 900ms;
  --overlay-delay: 450ms;
}

.menu-toggle {
  transition: opacity var(--transition-medium) cubic-bezier(.25,.8,.25,1),
              transform var(--transition-fast) cubic-bezier(.25,.8,.25,1);
}
.menu-toggle.btn-hide { opacity: 0; pointer-events: none; }

/* Links fade a bit slower for smoothness */
.site-nav.overlay-active .nav-links a {
  opacity: 0;
  transition: opacity var(--transition-fast) cubic-bezier(.25,.8,.25,1);
  transition-delay: 400ms;
}

/* Overlay swipe timing tuned for smoothness */
.nav-links::after {
  transition: transform var(--transition-medium) cubic-bezier(.25,.8,.25,1);
  transition-delay: var(--overlay-delay);
}