.wpc-site-footer {
  background: var(--wpc-footer-bg, #00335E) !important;
  width: 100% !important;
  font-family: 'Oak Sans', 'Segoe UI', Arial, sans-serif !important;
}

.wpc-site-footer,
.wpc-site-footer *,
.wpc-site-footer *::before,
.wpc-site-footer *::after {
  box-sizing: border-box !important;
}

.wpc-footer-inner {
  max-width: 1400px !important;
  margin-inline: auto !important;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 48px) clamp(20px, 3vw, 28px) !important;
}

/* ── Top: left intro + link columns ── */
.wpc-footer-top {
  display: flex !important;
  align-items: flex-start !important;
  gap: clamp(32px, 5vw, 64px) !important;
}

.wpc-footer-left {
  width: 30% !important;
  flex-shrink: 0 !important;
  border-right: 1px solid var(--wpc-footer-divider, rgba(255, 255, 255, 0.15)) !important;
  padding-right: clamp(24px, 4vw, 40px) !important;
}

.wpc-footer-logo,
.wpc-footer-logo:hover,
.wpc-footer-logo:focus {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  margin-bottom: clamp(18px, 3.5vw, 32px) !important;
}

.wpc-footer-logo:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}

.wpc-footer-logo img {
  display: block !important;
  height: var(--wpc-footer-logo-height, 42px) !important;
  width: auto !important;
  max-width: 280px !important;
  object-fit: contain !important;
}

.wpc-footer-logo-mark {
  font-family: 'Tropiline', 'Oak Sans', Arial, sans-serif !important;
  font-size: clamp(22px, 3vw, 26px) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
}

.wpc-footer-logo-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.2 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding-left: 10px !important;
}

.wpc-footer-logo-line1 {
  font-size: clamp(11px, 1.4vw, 12.5px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.wpc-footer-logo-line2 {
  font-size: clamp(8.5px, 1.1vw, 9.5px) !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  opacity: 0.65 !important;
}

.wpc-footer-heading {
  font-family: 'Tropiline', 'Oak Sans', Arial, sans-serif !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--wpc-footer-heading, #ffffff) !important;
  margin: 0 0 12px 0 !important;
  overflow-wrap: break-word !important;
}

.wpc-footer-desc {
  font-size: clamp(13px, 1.4vw, 14.5px) !important;
  line-height: 1.7 !important;
  color: var(--wpc-footer-text, rgba(255, 255, 255, 0.75)) !important;
  margin: 0 !important;
  max-width: 34ch !important;
  overflow-wrap: break-word !important;
}

/* ── Link columns ──
   A real 3-column × 2-row grid (not nested flex columns) so the
   second-row blocks (Location, Inquiry) share one top-aligned row
   regardless of how many links are in each column's list above them. */
.wpc-footer-links {
  flex-grow: 1 !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: start !important;
  column-gap: clamp(20px, 3vw, 32px) !important;
  row-gap: clamp(20px, 3vw, 28px) !important;
}

.wpc-footer-block--col1-primary {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.wpc-footer-block--col2-primary {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.wpc-footer-block--col3-primary {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

.wpc-footer-block--col1-secondary {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

.wpc-footer-block--col2-secondary {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.wpc-footer-block {
  min-width: 0 !important;
}

.wpc-footer-block h3 {
  font-size: clamp(14px, 1.5vw, 15px) !important;
  font-weight: 700 !important;
  color: var(--wpc-footer-heading, #ffffff) !important;
  margin: 0 0 10px 0 !important;
}

ul.wpc-footer-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

ul.wpc-footer-menu a {
  display: inline-block !important;
  color: var(--wpc-footer-text, rgba(255, 255, 255, 0.75)) !important;
  text-decoration: none !important;
  font-size: clamp(12.5px, 1.3vw, 13.5px) !important;
  line-height: 1.2 !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: color 0.2s ease !important;
}

ul.wpc-footer-menu a:hover,
ul.wpc-footer-menu a:focus {
  color: var(--wpc-footer-link-hover, #FE5B2C) !important;
}

ul.wpc-footer-menu ul.sub-menu {
  list-style: none !important;
  margin: 8px 0 0 0 !important;
  padding: 0 0 0 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.wpc-footer-location p,
.wpc-footer-inquiry p {
  font-size: clamp(12.5px, 1.3vw, 13.5px) !important;
  line-height: 1.7 !important;
  color: var(--wpc-footer-text, rgba(255, 255, 255, 0.75)) !important;
  margin: 0 !important;
}

.wpc-footer-inquiry a {
  color: inherit !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  transition: color 0.2s ease !important;
}

.wpc-footer-inquiry a:hover,
.wpc-footer-inquiry a:focus {
  color: var(--wpc-footer-link-hover, #FE5B2C) !important;
}

/* ── Bottom bar ── */
.wpc-footer-bottom {
  margin-top: clamp(20px, 3vw, 28px) !important;
  padding-top: clamp(12px, 1.8vw, 16px) !important;
  border-top: 1px solid var(--wpc-footer-divider, rgba(255, 255, 255, 0.15)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.wpc-footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.wpc-footer-social a,
.wpc-footer-social a:hover,
.wpc-footer-social a:focus {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.wpc-footer-social a {
  color: #ffffff !important;
}

.wpc-footer-social a:hover,
.wpc-footer-social a:focus {
  background: var(--wpc-footer-social-hover, #FE5B2C) !important;
  color: #ffffff !important;
}

.wpc-footer-social a:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 2px !important;
}

.wpc-footer-social svg {
  width: 13px !important;
  height: 13px !important;
  display: block !important;
}

.wpc-footer-legal {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  font-size: clamp(11.5px, 1.2vw, 12.5px) !important;
  color: var(--wpc-footer-text, rgba(255, 255, 255, 0.6)) !important;
  margin-left: auto !important;
}

.wpc-footer-copyright {
  white-space: nowrap !important;
}

.wpc-footer-legal a {
  color: inherit !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  transition: color 0.2s ease !important;
}

.wpc-footer-legal a:hover,
.wpc-footer-legal a:focus {
  color: var(--wpc-footer-link-hover, #FE5B2C) !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .wpc-footer-top {
    flex-direction: column !important;
  }

  .wpc-footer-left {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid var(--wpc-footer-divider, rgba(255, 255, 255, 0.15)) !important;
    padding-right: 0 !important;
    padding-bottom: clamp(24px, 5vw, 36px) !important;
  }

  .wpc-footer-desc {
    max-width: none !important;
  }

  .wpc-footer-links {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Below 3 columns the explicit top-aligned placement no longer
     applies cleanly, so let blocks flow in natural DOM order instead. */
  .wpc-footer-block--col1-primary,
  .wpc-footer-block--col2-primary,
  .wpc-footer-block--col3-primary,
  .wpc-footer-block--col1-secondary,
  .wpc-footer-block--col2-secondary {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 600px) {
  .wpc-footer-links {
    grid-template-columns: 1fr !important;
  }

  .wpc-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .wpc-footer-legal {
    margin-left: 0 !important;
  }
}

@media (max-width: 359px) {
  .wpc-footer-logo-text {
    display: none !important;
  }
}
