/* Footer upgrade: grouped navigation, operating entity, language strip. */

.site-footer { position: relative; overflow: hidden; }
.site-footer::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--brand) 35%, transparent 70%);
  opacity: .45;
}
.footer-brand .brand { margin-bottom: 12px; }
.footer-brand p { max-width: 32ch; line-height: 1.65; }
.footer-brand .newsletter { margin-top: 16px; }

.footer-trust { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.footer-trust-item {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px;
  border: 1px solid var(--line); border-radius: 999px; background: var(--surface-2);
  font-size: 11.5px; font-weight: 600; color: var(--ink-2); letter-spacing: -.005em;
}
.footer-trust-item .icon { width: 13px; height: 13px; color: var(--brand); }

.footer-title { display: flex; align-items: center; gap: 6px; }
.footer-link {
  position: relative; padding: 4px 0 4px 0; transition: color .16s ease, padding .16s ease;
}
.footer-link::before {
  content: ''; position: absolute; inset-inline-start: -10px; top: 50%; width: 4px; height: 4px;
  border-radius: 50%; background: var(--brand); opacity: 0; transform: translateY(-50%) scale(.4);
  transition: opacity .16s ease, transform .16s ease;
}
.footer-link:hover { color: var(--ink); padding-inline-start: 8px; }
.footer-link:hover::before { opacity: 1; transform: translateY(-50%) scale(1); }

/* Operating entity strip */
.footer-entity {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 26px;
  padding: 16px 20px; margin-bottom: 18px; border-radius: 16px;
  background: linear-gradient(120deg, var(--surface-2), var(--surface));
  border: 1px solid var(--line);
}
.footer-entity-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.footer-entity-label {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, transparent);
}
.footer-entity-main b { font-size: 14px; letter-spacing: -.01em; }
.footer-entity-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px;
  font-size: 12.5px; color: var(--muted);
}
.footer-entity-meta a { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-weight: 550; }
.footer-entity-meta a:hover { color: var(--brand); }
.footer-entity-meta .icon { width: 14px; height: 14px; color: var(--faint); }

/* Language strip — layout lives in payments.css (single row inside .footer-bottom). */
.footer-locale-count { display: inline-flex; align-items: center; gap: 5px; }
.footer-locale-count .icon { width: 13px; height: 13px; }

[data-theme="dark"] .footer-trust-item,
[data-theme="dark"] .footer-entity { background: rgba(255, 255, 255, .03); }

@media (max-width: 1180px) {
  .footer-entity { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 760px) {
  .footer-entity { padding: 14px 16px; }
}
