/* Independent footer; no Astra hooks or selectors. */
.dzkeys-footer { margin-block-start: var(--dzkeys-section-gap); padding-block: var(--dzkeys-space-6); border-block-start: 1px solid var(--dzkeys-color-border); background: var(--dzkeys-color-header); text-align: start; }
.dzkeys-footer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dzkeys-space-6); }
.dzkeys-footer-grid > * { min-width: 0; }
.dzkeys-footer-brand { grid-column: 1 / -1; }
.dzkeys-footer .dzkeys-footer-brand-link { display: inline-flex; align-items: center; gap: var(--dzkeys-space-2); color: var(--dzkeys-color-heading); font-size: 1.5rem; font-weight: 800; text-decoration: none; direction: ltr; }
.dzkeys-footer-brand-link small { font-size: 0.5rem; line-height: 1.4; letter-spacing: 1px; max-width: 52px; color: var(--dzkeys-color-muted); }
.dzkeys-footer-brand p { margin-block: var(--dzkeys-space-3) 0; color: var(--dzkeys-color-muted); }
.dzkeys-footer h3 { margin-block-end: var(--dzkeys-space-3); font-size: 1rem; }
.dzkeys-footer-links a { display: block; width: fit-content; max-width: 100%; min-height: 44px; padding-block: var(--dzkeys-space-2); color: var(--dzkeys-color-text); text-decoration: none; overflow-wrap: anywhere; font-size: var(--dzkeys-font-size-small); }
.dzkeys-footer-links a:hover { color: var(--dzkeys-color-link); }
.dzkeys-footer-social { display: flex; flex-wrap: wrap; gap: var(--dzkeys-space-2); margin-block-start: var(--dzkeys-space-4); }
.dzkeys-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--dzkeys-color-border); border-radius: var(--dzkeys-radius-control); background: var(--dzkeys-color-surface); color: var(--dzkeys-color-text); }
.dzkeys-footer-social svg { width: 21px; height: 21px; }
.dzkeys-footer-social a:hover { color: var(--dzkeys-color-link); border-color: var(--dzkeys-color-link); }
.dzkeys-footer-copyright { margin-block-start: var(--dzkeys-space-6); padding-block-start: var(--dzkeys-space-4); border-block-start: 1px solid var(--dzkeys-color-border); color: var(--dzkeys-color-muted); font-size: var(--dzkeys-font-size-small); }
.dzkeys-footer-menu { margin-block-start: var(--dzkeys-space-4); }
.dzkeys-footer-menu ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--dzkeys-space-3); margin: 0; padding: 0; }
.dzkeys-footer-menu a { display: inline-block; padding-block: var(--dzkeys-space-2); }
@media (min-width: 1100px) {
  .dzkeys-footer-grid { grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); }
  .dzkeys-footer-brand { grid-column: auto; }
}
@media (max-width: 359px) { .dzkeys-footer-grid { grid-template-columns: minmax(0, 1fr); } }
