/* Shared, fully scoped navigation and footer across custom PHP templates. */
.an-header,
.an-footer {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #ededed;
  background: #141414;
  color-scheme: dark;
}

.an-header *,
.an-footer * {box-sizing: border-box;}

.an-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 76px;
  display: block;
  padding: 0;
  border-bottom: 1px solid #333333;
  box-shadow: 0 9px 28px rgba(0, 0, 0, .12);
}

.an-container {width: min(1180px, calc(100% - 48px)); margin: auto;}
.an-header-row {display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px;}
.an-logo {font-size: 1.25rem; font-weight: 800; letter-spacing: -.03em; color: #fafafa !important; text-decoration: none !important; white-space: nowrap;}
.an-logo span {font-weight: 500; color: #bdbdbd !important;}
.an-nav {display: flex; align-items: center; gap: 28px;}
.an-nav a,
.an-footer-nav a {font-size: .95rem; font-weight: 600; color: #d4d4d4 !important; text-decoration: none !important;}
.an-nav a:hover,
.an-nav a:focus-visible,
.an-footer-nav a:hover,
.an-footer-nav a:focus-visible,
.an-nav a[aria-current] {color: #a9cfff !important;}

.an-contact-link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 11px 17px;
  border: 1px solid #f2f0e9;
  border-radius: 11px;
  background: #f2f0e9;
  color: #171717 !important;
  text-decoration: none !important;
  font-weight: 700;
  white-space: nowrap;
}
.an-contact-link:hover {background: #ffffff; border-color: #ffffff;}
.an-header a:focus-visible,
.an-header button:focus-visible,
.an-footer a:focus-visible {outline: 3px solid #a9cfff; outline-offset: 4px;}

.an-menu-toggle {display: none; border: 1px solid #575757; border-radius: 10px; padding: 10px; background: #242424; width: 44px; height: 42px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; cursor: pointer;}
.an-menu-toggle span {display: block; background: #ededed; width: 19px; height: 2px;}
.an-menu-toggle:hover {border-color: #a9cfff;}

.an-footer {padding: 50px 0 24px; border-top: 1px solid #333333;}
.an-footer-main {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 40px; align-items: start; padding-bottom: 35px; border-bottom: 1px solid #333333;}
.an-footer-brand p {max-width: 410px; font-size: .94rem; color: #bdbdbd !important; line-height: 1.8; margin: 13px 0 0;}
.an-footer-nav {display: flex; flex-wrap: wrap; gap: 15px 26px; justify-content: flex-end;}
.an-footer-bottom {display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-top: 22px; color: #ababab; font-size: .86rem;}
.an-footer-bottom a {color: #d1d1d1 !important; text-decoration: underline !important; text-underline-offset: 3px;}
.an-footer-bottom a:hover,
.an-footer-bottom a:focus-visible {color: #a9cfff !important;}

@media (max-width: 760px) {
  .an-container {width: calc(100% - 32px);}
  .an-header-row {min-height: 72px; flex-wrap: nowrap; gap: 10px;}
  .an-header {min-height: 72px;}
  .an-menu-toggle {display: flex; order: 3; flex-shrink: 0;}
  .an-contact-link {margin-left: auto; font-size: .82rem; padding: 9px 11px;}
  .an-nav {display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: #1c1c1c; padding: 14px 20px; border-bottom: 1px solid #444444; box-shadow: 0 16px 24px rgba(0, 0, 0, .2);}
  .an-nav.an-open {display: flex;}
  .an-nav a {display: block; padding: 11px 4px;}
  .an-footer {padding: 36px 0 20px;}
  .an-footer-main {grid-template-columns: 1fr; gap: 24px;}
  .an-footer-nav {justify-content: flex-start;}
  .an-footer-bottom {align-items: flex-start; flex-direction: column;}
}

@media (max-width: 380px) {
  .an-header-row {gap: 8px;}
  .an-header .an-logo {font-size: 1.08rem;}
  .an-contact-link {font-size: .74rem; padding: 9px 8px; gap: 5px;}
  .an-menu-toggle {width: 40px;}
}

/* White footer with neutral charcoal details; shared dark navigation stays intact. */
.an-footer {color: #454545; background: #ffffff; color-scheme: light; border-top-color: #dedede;}
.an-footer .an-logo {color: #171717 !important;}
.an-footer .an-logo span {color: #606060 !important;}
.an-footer-main {border-bottom-color: #dedede;}
.an-footer-brand p {color: #5a5a5a !important;}
.an-footer-nav a {color: #454545 !important;}
.an-footer-nav a:hover,
.an-footer-nav a:focus-visible {color: #171717 !important;}
.an-footer-bottom {color: #626262;}
.an-footer-bottom a {color: #404040 !important;}
.an-footer-bottom a:hover,
.an-footer-bottom a:focus-visible {color: #171717 !important;}
.an-footer a:focus-visible {outline-color: #333333;}
