@import url('vanguard-brand.css');

.wsu-site-footer {
  --wsu-footer-bg: var(--vanguard-primary);
  --wsu-footer-text: #ffffff;
  --wsu-footer-link-hover: var(--vanguard-gold);
  --wsu-footer-bg-image: none;
  position: relative;
  overflow: hidden;
  background-color: var(--wsu-footer-bg);
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.9) 0%, rgba(var(--vanguard-primary-rgb), 0.97) 100%),
    var(--wsu-footer-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--wsu-footer-text);
  margin-top: auto;
}

.wsu-site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(203, 137, 44, 0.14), transparent 42%),
    radial-gradient(circle at 88% 82%, rgba(255, 255, 255, 0.06), transparent 36%);
  pointer-events: none;
}

.wsu-site-footer__main,
.wsu-site-footer__bar {
  position: relative;
  z-index: 1;
}

.wsu-site-footer a {
  color: var(--wsu-footer-text);
  text-decoration: none;
}

.wsu-site-footer a:hover,
.wsu-site-footer a:focus-visible {
  color: var(--wsu-footer-link-hover);
}

.wsu-site-footer__main {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) repeat(3, minmax(0, 1fr));
  gap: 2rem 2.5rem;
  padding: 2.75rem clamp(1rem, 4vw, 2rem) 2rem;
  align-items: start;
}

.wsu-site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.wsu-site-footer__logo img {
  display: block;
  width: min(235px, 100%);
  height: auto;
}

.wsu-site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wsu-site-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  background: #ffffff;
  color: var(--wsu-footer-bg);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.wsu-site-footer__social a:hover,
.wsu-site-footer__social a:focus-visible {
  background: var(--vanguard-gold);
  color: var(--wsu-footer-bg);
  transform: translateY(-1px);
}

.wsu-site-footer__social-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.wsu-site-footer__social-icon--facebook {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 8h3V4h-3c-2.8 0-4.5 1.7-4.5 4.6V12H7v4h2.5v8H14v-8h3.4l.6-4H14V8.6C14 8.2 14.2 8 14 8z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 8h3V4h-3c-2.8 0-4.5 1.7-4.5 4.6V12H7v4h2.5v8H14v-8h3.4l.6-4H14V8.6C14 8.2 14.2 8 14 8z'/%3E%3C/svg%3E");
}

.wsu-site-footer__social-icon--x {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18.9 3H22l-6.8 7.8L23 21h-6.1l-4.8-6.2L6.7 21H3.6l7.3-8.4L1 3h6.2l4.3 5.7L18.9 3zm-1.1 16h1.7L7.1 4.9H5.3L17.8 19z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18.9 3H22l-6.8 7.8L23 21h-6.1l-4.8-6.2L6.7 21H3.6l7.3-8.4L1 3h6.2l4.3 5.7L18.9 3zm-1.1 16h1.7L7.1 4.9H5.3L17.8 19z'/%3E%3C/svg%3E");
}

.wsu-site-footer__social-icon--instagram {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H7zm5 3.5A4.5 4.5 0 1 1 7.5 13 4.5 4.5 0 0 1 12 8.5zm0 2A2.5 2.5 0 1 0 14.5 13 2.5 2.5 0 0 0 12 10.5zM17.25 6.75a1 1 0 1 1-1 1 1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H7zm5 3.5A4.5 4.5 0 1 1 7.5 13 4.5 4.5 0 0 1 12 8.5zm0 2A2.5 2.5 0 1 0 14.5 13 2.5 2.5 0 0 0 12 10.5zM17.25 6.75a1 1 0 1 1-1 1 1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.wsu-site-footer__social-icon--youtube {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.6 7.2a2.5 2.5 0 0 0-1.8-1.8C18 5 12 5 12 5s-6 0-7.8.4a2.5 2.5 0 0 0-1.8 1.8C2 9 2 12 2 12s0 3 .4 4.8a2.5 2.5 0 0 0 1.8 1.8C6 19 12 19 12 19s6 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8c.4-1.8.4-4.8.4-4.8s0-3-.4-4.8zM10 15.5v-7l6 3.5-6 3.5z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.6 7.2a2.5 2.5 0 0 0-1.8-1.8C18 5 12 5 12 5s-6 0-7.8.4a2.5 2.5 0 0 0-1.8 1.8C2 9 2 12 2 12s0 3 .4 4.8a2.5 2.5 0 0 0 1.8 1.8C6 19 12 19 12 19s6 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8c.4-1.8.4-4.8.4-4.8s0-3-.4-4.8zM10 15.5v-7l6 3.5-6 3.5z'/%3E%3C/svg%3E");
}

.wsu-site-footer__social-icon--linkedin {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 8.5H3.5V21h3V8.5zM5 3a1.8 1.8 0 1 0 0 3.6A1.8 1.8 0 0 0 5 3zM9 8.5h2.9v1.7h.1c.4-.8 1.5-1.7 3.1-1.7 3.3 0 3.9 2.2 3.9 5V21h-3v-5.2c0-1.2 0-2.8-1.7-2.8s-2 1.3-2 2.7V21H9V8.5z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 8.5H3.5V21h3V8.5zM5 3a1.8 1.8 0 1 0 0 3.6A1.8 1.8 0 0 0 5 3zM9 8.5h2.9v1.7h.1c.4-.8 1.5-1.7 3.1-1.7 3.3 0 3.9 2.2 3.9 5V21h-3v-5.2c0-1.2 0-2.8-1.7-2.8s-2 1.3-2 2.7V21H9V8.5z'/%3E%3C/svg%3E");
}

.wsu-site-footer__social-icon--whatsapp {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 0 0-8.7 15l-1.3 4.8 4.9-1.3A10 10 0 1 0 12 2zm5.3 14.2c-.2.6-1.2 1.1-1.7 1.1-.4 0-1 .2-3.3-.7-2.8-1.1-4.6-3.8-4.7-4-.1-.2-1.1-1.5-1.1-2.8s.7-2 1-2.3.5-.5.7-.5.4 0 .5 0 .4 0 .6.5.8 1 .8 1.2a.3.3 0 0 1 0 .3c-.1.1-.2.2-.3.4s-.2.2-.3.3a.3.3 0 0 0-.1.4c.2.5.9 1.6 2 2.5 1.4 1.2 2.5 1.5 2.9 1.7a.3.3 0 0 0 .4-.1c.1-.1.6-.7.7-.9s.3-.2.5-.1.9.5 1.1.6.7.3.8.5-.1.6-.3 1z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 0 0-8.7 15l-1.3 4.8 4.9-1.3A10 10 0 1 0 12 2zm5.3 14.2c-.2.6-1.2 1.1-1.7 1.1-.4 0-1 .2-3.3-.7-2.8-1.1-4.6-3.8-4.7-4-.1-.2-1.1-1.5-1.1-2.8s.7-2 1-2.3.5-.5.7-.5.4 0 .5 0 .4 0 .6.5.8 1 .8 1.2a.3.3 0 0 1 0 .3c-.1.1-.2.2-.3.4s-.2.2-.3.3a.3.3 0 0 0-.1.4c.2.5.9 1.6 2 2.5 1.4 1.2 2.5 1.5 2.9 1.7a.3.3 0 0 0 .4-.1c.1-.1.6-.7.7-.9s.3-.2.5-.1.9.5 1.1.6.7.3.8.5-.1.6-.3 1z'/%3E%3C/svg%3E");
}

.wsu-site-footer__heading {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: #ffffff;
}

.wsu-site-footer__menu,
.wsu-site-footer__phones {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wsu-site-footer__menu li + li,
.wsu-site-footer__phones li + li {
  margin-top: 0.55rem;
}

.wsu-site-footer__menu a {
  font-size: 0.92rem;
  line-height: 1.45;
}

.wsu-site-footer__contact p {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  line-height: 1.55;
}

.wsu-site-footer__contact p:last-child {
  margin-bottom: 0;
}

.wsu-site-footer__phones {
  font-size: 0.92rem;
  line-height: 1.55;
}

.wsu-site-footer__bar {
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  padding: 1.25rem clamp(1rem, 4vw, 2rem) 1.5rem;
  background: rgba(86, 20, 21, 0.55);
}

.wsu-site-footer__copyright {
  margin: 0;
  font-size: 0.88rem;
  color: #ffffff;
}

@media (max-width: 1100px) {
  .wsu-site-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wsu-site-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .wsu-site-footer__main {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    padding-top: 2rem;
  }
}
