/* One organisation composition for native Footer Information blocks and an
   optional platform provider. Shared rules also reach the editor iframe. */
.bwcet-footer-information .bwcet-footer-contacts,
.site-footer .site-footer__content .bwcet-footer-contacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 1.75rem;
  margin-block: 0;
  align-items: start;
}
.bwcet-footer-contacts > :is(.wp-block-column, .bwcet-footer-office) { min-width: 0; margin: 0; }
.bwcet-footer-contacts > :only-child { grid-column: 1 / -1; }
.bwcet-footer-information .bwcet-footer-office,
.site-footer .bwcet-footer-office {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: .875rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.bwcet-footer-information .bwcet-footer-office:has(> .bwcet-footer-office__logo),
.site-footer .bwcet-footer-office:has(> .bwcet-footer-office__logo) { grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; }
.bwcet-footer-office .bwcet-footer-office__logo { width: 3rem; margin: .125rem 0 0; }
.bwcet-footer-office .bwcet-footer-office__logo img { display: block; width: 100%; height: auto; max-height: 4.5rem; object-fit: contain; object-position: center top; }
.bwcet-footer-office .bwcet-footer-office__copy { min-width: 0; margin: 0; }
.bwcet-footer-office .bwcet-footer-office__copy :is(h2, h3, .bwcet-footer-office__heading) {
  margin: 0 0 .75rem;
  color: inherit;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.bwcet-footer-office .bwcet-footer-office__copy p { margin: 0; font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }
.bwcet-footer-office .bwcet-footer-office__copy p + p { margin-block-start: .375rem; }
.bwcet-footer-office .bwcet-footer-office__address { margin-block-end: .625rem; }
.bwcet-footer-office__copy a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
.bwcet-footer-office__website { font-weight: 600; }
.bwcet-footer-information .bwcet-footer-information__connect { margin-block-start: 2rem; }
.bwcet-footer-information .bwcet-footer-social { gap: .5rem; margin-block: .75rem 0 !important; }
.bwcet-footer-information .bwcet-footer-social .wp-social-link a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .65rem; }
.site-footer .bwcet-footer-information .bwcet-footer-social .wp-social-link a { padding: .65rem; }
.bwcet-footer-information .bwcet-footer-company { margin-block-start: 1.75rem; padding-block-start: 1.5rem; }
.bwcet-footer-information .bwcet-footer-company p { max-width: 72ch; margin-block: .75rem 0; font-size: .8125rem; line-height: 1.8; }
.bwcet-footer-information .bwcet-footer-company .bwcet-eyebrow { margin-block: 0; font-size: .6875rem; }
.bwcet-footer-information .bwcet-eyebrow { font-size: .6875rem; letter-spacing: .12em; }

/* Avoid repeating the site identity above configured organisation entries.
   Missing native logo placeholders do not reserve an empty portrait column. */
.site-footer .bwcet-footer-office__logo:has(> img:not([src])),
.site-footer .bwcet-footer-office__logo:has(> img[src=""]) { display: none; }
.site-footer .bwcet-footer-office:has(> .bwcet-footer-office__logo > img:not([src])),
.site-footer .bwcet-footer-office:has(> .bwcet-footer-office__logo > img[src=""]) { grid-template-columns: minmax(0, 1fr); }
.site-footer .site-footer__main { gap: clamp(2rem, 4vw, 4rem); align-items: stretch; }
.site-footer.site-footer--with-location .site-footer__main { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.site-footer .site-footer__content { margin-block: 0 1.5rem; }
.site-footer .site-footer__content .bwcet-footer-information { margin: 0; }
.site-footer .site-footer__brand { margin-block-end: 2rem; }
.site-footer .site-footer__brand .site-brand__name { font-size: clamp(1.2rem, 1.8vw, 1.65rem); }
.site-footer .site-footer__nav { margin-block-start: 0; padding-block: .5rem; }
.site-footer .site-footer__nav > ul { gap: 0 1.5rem; }
.site-footer .site-footer__nav a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; line-height: 1.5; text-underline-offset: .25em; }
.site-footer .site-footer__bottom { margin-block-start: 0; padding-block-start: 1.25rem; gap: .75rem 1.5rem; }
.site-footer .site-footer__legal a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer .location-panel { border-radius: 4px; }
.site-footer .location-panel__heading { padding: 1.5rem; }
.site-footer .location-panel__heading h2 { font-size: clamp(1.2rem, 1.5vw, 1.4rem); line-height: 1.35; }
.site-footer .location-panel__visual,
.site-footer .location-panel__frame,
.site-footer .location-panel__frame iframe,
.site-footer .location-panel__placeholder { min-height: 20rem; }
.site-footer .location-panel__actions { gap: .5rem 1rem; padding: 1.25rem 1.5rem .75rem; }
.site-footer .location-panel__link { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: .2em; }
.site-footer .location-panel__notice { padding: 0 1.5rem 1.25rem; }

@media (min-width: 1100px) {
  .site-footer--with-location .bwcet-footer-contacts:has(> :nth-child(3):last-child) > :last-child { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
  .site-footer:not(.site-footer--with-location) .bwcet-footer-contacts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .site-footer:not(.site-footer--with-location) .bwcet-footer-contacts:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer:not(.site-footer--with-location) .bwcet-footer-contacts:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1099px) {
  .site-footer.site-footer--with-location .site-footer__main { grid-template-columns: minmax(0, 1fr); }
  .site-footer .location-panel__visual,
  .site-footer .location-panel__frame,
  .site-footer .location-panel__frame iframe,
  .site-footer .location-panel__placeholder { min-height: 18rem; }
}
@media (max-width: 599px) {
  .bwcet-footer-information .bwcet-footer-contacts,
  .site-footer .site-footer__content .bwcet-footer-contacts { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .site-footer .bwcet-footer-contacts > :nth-child(n+2) { border-block-start: 1px solid color-mix(in srgb, currentColor 20%, transparent); padding-block-start: 1.75rem; }
  .site-footer .site-footer__nav > ul { column-gap: 1.25rem; }
  .site-footer .location-panel__heading { padding: 1.25rem; }
  .site-footer .location-panel__actions { padding-inline: 1.25rem; }
  .site-footer .location-panel__notice { padding-inline: 1.25rem; }
}
@media (forced-colors: active) {
  .site-footer .bwcet-footer-contacts > :nth-child(n+2),
  .site-footer .site-footer__nav,
  .site-footer .site-footer__bottom { border-color: CanvasText; }
  .site-footer :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
}
@media print {
  .site-footer .site-footer__content .bwcet-footer-contacts { display: block; }
  .site-footer .bwcet-footer-contacts > * + * { margin-block-start: 1rem; }
  .bwcet-footer-office { break-inside: avoid; }
}
