/* RC9 footer: organisations and site location form the first row; registered
   information and legal navigation follow across its full width. */
footer.site-footer {
  padding-block: clamp(2rem, 2.5vw, 2.25rem);
}
.site-footer .site-footer__main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.75rem clamp(1.5rem, 3vw, 3rem);
}
.site-footer .site-footer__information {
  flex: 1.55 1 30rem;
  min-width: 0;
}
.site-footer .site-footer__content { margin-block: 0; }
.site-footer .site-footer__brand { margin-block-end: 0; }
.site-footer .site-footer__content .bwcet-footer-contacts {
  gap: 1.5rem 1.5rem;
}
.site-footer .bwcet-footer-office:has(> .bwcet-footer-office__logo) {
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: .875rem;
}
.site-footer .bwcet-footer-office .bwcet-footer-office__logo { width: 2.75rem; }
.site-footer .bwcet-footer-office .bwcet-footer-office__logo img { max-height: 3.5rem; }
.site-footer .bwcet-footer-office .bwcet-footer-office__copy :is(h2, h3, .bwcet-footer-office__heading) {
  font-size: .9375rem;
  line-height: 1.4;
  margin-block-end: .5rem;
}
.site-footer .bwcet-footer-office .bwcet-footer-office__copy p {
  font-size: .8125rem;
  line-height: 1.65;
}
.site-footer .bwcet-footer-office .bwcet-footer-office__copy p + p { margin-block-start: .3rem; }
.site-footer .bwcet-footer-information .bwcet-footer-information__connect { margin-block-start: 1.5rem; }
.site-footer .bwcet-footer-information .bwcet-footer-social { margin-block-start: .4rem !important; }
.site-footer .bwcet-footer-information .bwcet-footer-social .wp-social-link a {
  min-width: 44px;
  min-height: 44px;
  padding: .6rem;
}

/* Content controls height. The map never stretches down to the legal rows. */
.site-footer .location-panel {
  flex: 1 1 19rem;
  align-self: start;
  min-width: min(100%, 19rem);
  width: 100%;
  overflow: hidden;
  border-radius: 4px;
}
.site-footer .location-panel__heading { padding: 1rem 1.125rem; }
.site-footer .location-panel__heading .bwcet-eyebrow { margin-block: 0 .4rem; }
.site-footer .location-panel__heading h2 {
  max-width: none;
  font-size: 1.125rem;
  line-height: 1.35;
}
.site-footer .location-panel__address {
  margin: .625rem 0 0;
  font-size: .8125rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.site-footer .location-panel__visual {
  flex: none;
  width: 100%;
  aspect-ratio: 16 / 7;
  min-height: 10rem;
  max-height: 14rem;
}
.site-footer .location-panel__frame,
.site-footer .location-panel__frame iframe,
.site-footer .location-panel__placeholder { min-height: 0; }
.site-footer .location-panel__actions {
  gap: .375rem .875rem;
  padding: .75rem 1.125rem .375rem;
}
.site-footer .location-panel__load { padding: .6rem .8rem; }
.site-footer .location-panel__link { min-height: 44px; padding-block: .4rem; }
.site-footer .location-panel__notice { padding: 0 1.125rem .875rem; font-size: .75rem; }

.site-footer .site-footer__registered {
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  border-block-start: 1px solid #ffffff35;
}
.site-footer .site-footer__registered > .bwcet-footer-company {
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  max-width: none;
}
.site-footer .site-footer__registered .bwcet-eyebrow {
  margin-block: 0 .5rem;
  color: var(--wp--preset--color--accent);
  font-size: .6875rem;
}
.site-footer .site-footer__registered p {
  max-width: none;
  margin-block: .5rem 0;
  font-size: .8125rem;
  line-height: 1.7;
}
.site-footer .site-footer__registered a { color: inherit; overflow-wrap: anywhere; }
.site-footer .site-footer__nav { margin-block-start: 1.25rem; padding-block: .25rem; }
.site-footer .site-footer__registered + .site-footer__nav { margin-block-start: 0; }
.site-footer .site-footer__nav a { font-size: .8125rem; }
.site-footer .site-footer__bottom { margin-block-start: .75rem; padding-block-start: .875rem; font-size: .75rem; }
.site-footer .site-footer__nav + .site-footer__bottom { margin-block-start: 0; }

@media (min-width: 900px) {
  .site-footer--with-location .bwcet-footer-contacts:has(> :nth-child(3):last-child) > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 899px) {
  .site-footer .location-panel__visual { aspect-ratio: 16 / 6; }
}
@media (max-width: 599px) {
  .site-footer .site-footer__content .bwcet-footer-contacts { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .site-footer .bwcet-footer-contacts > :nth-child(n+2) { padding-block-start: 1.25rem; }
  .site-footer .location-panel__visual { aspect-ratio: 16 / 8; }
}
@media (forced-colors: active) {
  .site-footer .site-footer__registered { border-color: CanvasText; }
}
@media print {
  footer.site-footer { padding-block: 1rem; }
  .site-footer .site-footer__main { display: block; }
  .site-footer .site-footer__registered { margin-block-start: 1rem; border-color: #777; }
  .site-footer .site-footer__registered .bwcet-eyebrow { color: #000; }
}

/* Keep the system focus treatment stronger than the legacy public footer rule. */
@media (forced-colors: active) { footer.site-footer :focus-visible { outline: 3px solid Highlight; box-shadow: none; } }
