/* Shared homepage footer. Keep typography independent of page body styles. */
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: optional;
  src: url('../fonts/manrope-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: optional;
  src: url('../fonts/manrope-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Geist Mono'; font-style: normal; font-weight: 400; font-display: optional;
  src: url('../fonts/geist-mono-400.woff2') format('woff2');
}

body footer.site-footer.djl-site-footer {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 32px 32px 0 0;
  background: #1a1410;
  color: #fbf8f1;
  padding: 64px 48px 28px;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
}

body footer.djl-site-footer,
body footer.djl-site-footer * {
  box-sizing: border-box;
}

body footer.djl-site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
  gap: 40px;
  align-items: flex-start;
  margin: 0;
}

body footer.djl-site-footer .footer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  line-height: 0;
  text-decoration: none;
}

body footer.djl-site-footer .footer-logo picture { display: block; line-height: 0; }
body footer.djl-site-footer .footer-logo img {
  display: block;
  width: 66px;
  height: 66px;
  max-width: 66px;
  object-fit: contain;
}

body footer.djl-site-footer .footer-brand p {
  max-width: 260px;
  margin: 20px 0 0;
  color: rgba(251, 248, 241, .65);
  font: 400 14px/1.55 Manrope, system-ui, sans-serif;
  letter-spacing: normal;
}

body footer.djl-site-footer .footer-col-title {
  margin: 0 0 16px;
  color: rgba(251, 248, 241, .65);
  font: 400 11px/normal 'Geist Mono', ui-monospace, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body footer.djl-site-footer .footer-col ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body footer.djl-site-footer .footer-col li { margin: 0; padding: 0; line-height: normal; }

body footer.djl-site-footer .footer-col a {
  color: #fbf8f1;
  font: 500 14px/normal Manrope, system-ui, sans-serif;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
}

body footer.djl-site-footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  margin: 56px 0 0;
  border-top: 1px solid rgba(251, 248, 241, .1);
  padding: 24px 0 0;
  color: rgba(251, 248, 241, .65);
  font: 400 11px/normal 'Geist Mono', ui-monospace, monospace;
  letter-spacing: .08em;
}

body footer.djl-site-footer .footer-bottom div { display: flex; gap: 18px; }
body footer.djl-site-footer .footer-bottom a {
  color: rgba(251, 248, 241, .65);
  font: 500 11px/normal 'Geist Mono', ui-monospace, monospace;
  letter-spacing: .08em;
  text-decoration: none;
}

body footer.djl-site-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
body footer.djl-site-footer a:focus-visible { outline: 2px solid #ffe69a; outline-offset: 4px; }

@media (min-width: 701px) and (max-width: 1000px) {
  body footer.djl-site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  body footer.djl-site-footer .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  body footer.site-footer.djl-site-footer { padding: 48px 14px 28px; }
  body footer.djl-site-footer .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body footer.djl-site-footer .footer-bottom,
  body footer.djl-site-footer .footer-bottom div {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
  }
}

/* Keep the cookie inventory readable without widening the mobile page. */
.digitaljobs-legal .legal-body { min-width: 0; }
.digitaljobs-legal .cookie-table-scroll { max-width: 100%; overflow-x: auto; margin: 24px 0; }
.digitaljobs-legal .cookie-table-scroll:focus-visible { outline: 2px solid #1a1410; outline-offset: 4px; }
.digitaljobs-legal .cookie-table { width: 100%; min-width: 600px; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.digitaljobs-legal .cookie-table th,
.digitaljobs-legal .cookie-table td { border: 1px solid rgba(26, 20, 16, .15); padding: 12px; vertical-align: top; text-align: left; }
.digitaljobs-legal .cookie-table th { background: #f3eee0; color: #1a1410; font-weight: 700; }
.digitaljobs-legal .cookie-table code { white-space: normal; overflow-wrap: anywhere; font-size: 12px; }
