/* Legal links and consent panel. Square premium treatment. */
body.premium-ui:not(.admin-page-body) .footer-legal{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:20px 0 6px;border-top:1px solid #373737}
body.premium-ui:not(.admin-page-body) .footer-legal a,body.premium-ui:not(.admin-page-body) .footer-legal button{color:#f3f3f3!important;font-size:12px;font-weight:500;line-height:1.5;font-family:inherit;background:none;border:0;padding:5px 0;cursor:pointer;text-decoration:none;letter-spacing:.01em;white-space:normal;text-align:center}
body.premium-ui:not(.admin-page-body) .footer-legal a:hover,body.premium-ui:not(.admin-page-body) .footer-legal button:hover{text-decoration:underline;color:#fff!important}
body.premium-ui:not(.admin-page-body) .footer-legal a:focus-visible,body.premium-ui:not(.admin-page-body) .footer-legal button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.footer-map-frame .map-consent-prompt{height:100%;min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:#ddd;padding:20px;font-size:13px;line-height:1.5;font-family:inherit}
.footer-map-frame .map-consent-prompt button{border:1px solid #fff;color:#111;background:#fff;padding:10px 18px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit}
.footer-map-frame iframe[hidden]{display:none!important}
.cookie-settings-overlay[hidden]{display:none!important}
.cookie-settings-overlay{position:fixed;inset:0;z-index:2147483646;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:18px}
.cookie-settings-panel{width:min(100%,460px);max-height:90dvh;overflow:auto;background:#f8f8f6;color:#1c2124;border-radius:5px;padding:22px;font-family:inherit;box-shadow:0 20px 80px rgba(0,0,0,.3)}
.cookie-settings-panel p{font-size:13px;line-height:1.65;color:#555;margin:15px 0}
.cookie-settings-head,.cookie-settings-row,.cookie-settings-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}
.cookie-settings-head h2{font-size:19px;margin:0;font-weight:700}.cookie-settings-head button{border:0;background:transparent;font-size:28px;cursor:pointer;color:#222}
.cookie-settings-row{border-top:1px solid #dedede;padding:16px 0;font-size:12px}.cookie-settings-row strong{display:block;font-size:13px}.cookie-settings-row small{display:block;color:#686868;font-size:11px;margin-top:5px;line-height:1.4}.cookie-settings-row>span:last-child{white-space:nowrap;font-size:11px;color:#777}
.cookie-settings-row input{width:20px;height:20px;accent-color:#171717;flex-shrink:0}.cookie-settings-actions{margin-top:15px;flex-wrap:wrap}.cookie-settings-actions button{flex:1;min-width:130px;padding:12px 10px;border:1px solid #252525;background:transparent;color:#222;border-radius:4px;cursor:pointer;font-weight:600}.cookie-settings-actions button:last-child{background:#1b1b1b;color:white}
@media(max-width:480px){body.premium-ui:not(.admin-page-body) .footer-legal{gap:6px 18px}body.premium-ui:not(.admin-page-body) .footer-legal a,body.premium-ui:not(.admin-page-body) .footer-legal button{font-size:11px}}

.footer-map-frame .map-consent-prompt[hidden]{display:none!important}

/* Footer legal links: neutral compact row directly above the copyright.
   The site's generic nav rules must not style this footer-only navigation. */
body.premium-ui:not(.admin-page-body) footer#footer > nav.footer-legal {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  grid-column:1 / -1!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:8px 0 0!important;
  padding:15px 0 0!important;
  gap:6px 20px!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-radius:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  text-align:center!important;
}
body.premium-ui:not(.admin-page-body) footer#footer > nav.footer-legal > a,
body.premium-ui:not(.admin-page-body) footer#footer > nav.footer-legal > button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:static!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:30px!important;
  margin:0!important;
  padding:5px 0!important;
  color:#e8e8e8!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:normal!important;
  cursor:pointer;
}
body.premium-ui:not(.admin-page-body) footer#footer > nav.footer-legal > :is(a,button):hover {
  color:#fff!important;
  text-decoration:underline!important;
}
body.premium-ui:not(.admin-page-body) footer#footer > .footer-bottom {
  margin-top:0!important;
  padding-top:10px!important;
  border-top:0!important;
}
@media(max-width:480px){
  body.premium-ui:not(.admin-page-body) footer#footer > nav.footer-legal {
    gap:2px 13px!important;
    padding-top:12px!important;
  }
  body.premium-ui:not(.admin-page-body) footer#footer > nav.footer-legal > :is(a,button){
    font-size:10px!important;
    min-height:28px!important;
    padding:4px 0!important;
  }
}

/* Bottom footer: copyright | legal links | NEXA on one baseline. */
body.premium-ui:not(.admin-page-body) footer#footer > .footer-bottom {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:24px!important;
  row-gap:14px!important;
  width:100%!important;
  padding-top:20px!important;
  margin-top:0!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-copy {justify-self:start;}
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-credit {justify-self:end;text-align:right;}
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom > nav.footer-legal {
  position:static!important;inset:auto!important;transform:none!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  justify-content:center!important;flex-wrap:wrap!important;
  width:auto!important;max-width:100%!important;min-width:0!important;
  height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;gap:5px 18px!important;
  background:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  text-align:center!important;
}
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom > nav.footer-legal > :is(a,button) {
  display:inline-flex!important;position:static!important;align-items:center!important;
  flex:0 0 auto!important;width:auto!important;min-width:0!important;
  min-height:24px!important;margin:0!important;padding:3px 0!important;
  color:#eee!important;background:transparent!important;border:0!important;
  box-shadow:none!important;font-family:inherit!important;font-size:10px!important;
  font-weight:500!important;letter-spacing:0!important;line-height:1.4!important;
  text-transform:none!important;text-decoration:none!important;cursor:pointer!important;
}
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom > nav.footer-legal > :is(a,button):hover {color:#fff!important;text-decoration:underline!important;}
@media(max-width:1000px) {
 body.premium-ui:not(.admin-page-body) footer#footer > .footer-bottom {grid-template-columns:1fr 1fr!important;}
 body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom > nav.footer-legal {grid-column:1/-1;grid-row:1;gap:5px 16px!important;}
 body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-copy {grid-column:1;grid-row:2;}
 body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-credit {grid-column:2;grid-row:2;}
}
@media(max-width:480px) {
 body.premium-ui:not(.admin-page-body) footer#footer > .footer-bottom {grid-template-columns:1fr!important;row-gap:10px!important;}
 body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom > nav.footer-legal {grid-column:1;grid-row:1;gap:3px 12px!important;}
 body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-copy {grid-column:1;grid-row:2;justify-self:center;}
 body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-credit {grid-column:1;grid-row:3;justify-self:center;text-align:center;}
}

/* Ensure the footer copyright and development credit use white text. */
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-copy,
body.premium-ui:not(.admin-page-body) footer#footer .footer-bottom-credit {
  color: #fff !important;
}
