/* Native Theme 1.0 footer objects, reduced to the approved utility content.
   Every selector is footer-scoped. Theme source and Sections 01–06 are untouched. */
.oc-footer.oc-production-footer {
  min-height: 0;
  padding-top: var(--wp--preset--spacing--40, 40px);
}
.oc-footer.oc-production-footer > .oc-footer-main {
  min-height: 0;
  /* Intrinsic right-hand contact column; the existing theme grid supplies
     the outer alignment. Social shares its column without changing DOM order. */
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-template-areas: "brand contact" "brand social";
  grid-template-rows: auto auto;
  row-gap: var(--wp--preset--spacing--16, 16px);
  padding-bottom: var(--wp--preset--spacing--32, 32px);
}
.oc-footer.oc-production-footer .oc-footer-object { min-height: 0; }
.oc-footer.oc-production-footer .oc-footer-brand-object { padding-right: 24px; }
.oc-footer.oc-production-footer .oc-footer-brand { margin: 0; color: var(--oc-text-primary); }
.oc-footer.oc-production-footer .oc-footer-contact { grid-area: contact; }
.oc-footer.oc-production-footer .oc-footer-contact > p {
  margin: 0 !important;
  color: var(--oc-text-secondary);
}
.oc-footer.oc-production-footer .oc-footer-contact a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: var(--oc-heading);
  overflow-wrap: anywhere;
  max-width: 100%;
}
.oc-footer.oc-production-footer .oc-footer-location { padding-top: 8px; }
.oc-footer.oc-production-footer .oc-social-links > .wp-block-social-links {
  margin: 0;
  padding: 0;
  gap: 22px;
}
.oc-footer.oc-production-footer .wp-block-social-links .wp-social-link {
  margin: 0;
  color: var(--oc-text-primary);
  background: transparent;
  border-radius: 0;
}
.oc-footer.oc-production-footer .wp-block-social-links .wp-social-link:hover { transform: none; }
.oc-footer.oc-production-footer .wp-block-social-links .wp-social-link a {
  padding: 0;
  color: inherit;
  border-radius: 0;
}
.oc-footer.oc-production-footer .wp-block-social-links .wp-social-link svg { width: 28px; height: 28px; }
.oc-footer.oc-production-footer .oc-footer-bottom { min-height: 0; }
.oc-footer.oc-production-footer .oc-footer-bottom__inner {
  min-height: 0;
  padding-block: 24px;
}
/* The old legal colour fails normal-text contrast on white. Reuse the existing
   footer description/contact colour; do not introduce a new palette value. */
.oc-footer.oc-production-footer .oc-footer-bottom__inner > p {
  margin: 0 !important;
  color: var(--oc-text-secondary) !important;
  font-size: var(--oc-footer-legal-size);
  line-height: var(--oc-footer-legal-leading);
  flex: none;
}
@media (min-width: 901px) {
  /* Core's constrained Paragraph auto margins otherwise centre the brand
     inside the newly wider left zone. Keep it on the established content edge. */
  .oc-footer.oc-production-footer .oc-footer-brand { margin-inline: 0 !important; }
}
@media (max-width: 1080px) {
  .oc-footer.oc-production-footer > .oc-footer-main { column-gap: 30px; }
}
@media (max-width: 900px) {
  .oc-footer.oc-production-footer > .oc-footer-main {
    grid-template-columns: minmax(0, 400px);
    grid-template-areas: "brand" "contact" "social";
    grid-template-rows: auto auto auto;
    row-gap: 20px;
    padding-right: 0;
    padding-bottom: 32px;
  }
  .oc-footer.oc-production-footer .oc-footer-brand-object { padding-right: 0; }
  .oc-footer.oc-production-footer .oc-footer-contact a { min-height: 44px; }
  .oc-footer.oc-production-footer .oc-footer-location { padding-top: 8px; }
  .oc-footer.oc-production-footer .oc-social-links a { width: 44px; height: 44px; }
  .oc-footer.oc-production-footer .oc-footer-bottom__inner { justify-content: center; }
  .oc-footer.oc-production-footer .oc-footer-bottom__inner > p { text-align: center; }
}
