/* Pxier site footer — dark navy + cookie banner */

.site-footer {
  background: var(--ink-dark);
  color: #9fb0c0;
  padding: 72px 0 32px;
  margin-top: 80px;
}
.site-footer a { color: #9fb0c0; text-decoration: none; transition: color .2s; }
.site-footer a:hover { color: #fff; }

.footer-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
}
@media (max-width: 980px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 540px) {
  .footer-grid { grid-template-columns: 1fr; }
}

.footer-brand img { height: 32px; margin-bottom: 18px; filter: brightness(0) invert(1); opacity: .9; }
.footer-brand p { font-size: 14px; line-height: 1.65; color: #7a8ca0; max-width: 28em; }

.footer-col h4 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 15.5px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 18px;
  letter-spacing: -.005em;
}
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; }
.footer-col li a { font-size: 13.5px; }

.footer-bottom {
  max-width: var(--container);
  margin: 50px auto 0;
  padding: 22px var(--container-pad) 0;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: #7a8ca0;
  flex-wrap: wrap;
}
.footer-bottom .legal { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-bottom .legal a { font-size: 13px; }

/* Cookie banner */
.cookies-wrapper {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  max-width: 580px;
  margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow-lg);
  padding: 20px 22px;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 18px;
  transition: opacity .3s;
}
.cookies-wrapper p {
  font-size: 13.5px;
  color: var(--ink-soft);
  line-height: 1.5;
  flex: 1;
}
.cookies-wrapper p a { color: var(--brand); font-weight: 600; }
.cookies-wrapper .acceptBtn {
  background: var(--brand);
  color: #fff;
  padding: 10px 20px;
  border-radius: 99px;
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: background .2s;
}
.cookies-wrapper .acceptBtn:hover { background: var(--brand-deep); color: #fff; }
.cookies-wrapper .cookiesClose {
  position: absolute;
  top: 8px;
  right: 14px;
  color: var(--ink-faint);
  font-size: 18px;
  text-decoration: none;
  line-height: 1;
}
@media (max-width: 540px) {
  .cookies-wrapper { flex-direction: column; align-items: stretch; text-align: center; gap: 14px; }
}
