/* ==========================================================================
   Optional ad-cookie notice (templates/_ad_consent_banner.html, driven by
   site/js/ad_consent.js). A plain bottom bar: no overlay, no backdrop, no
   focus trap; the page underneath stays fully usable. While it is open the
   page gets bottom padding equal to its height, so nothing (the signup
   button included) can end up stuck behind it.
   Self-contained: used on the marketing site and on the React /register page.
   ========================================================================== */
.mcw-consent-open body { padding-bottom: var(--mcw-consent-h, 0px); }

.mcw-consent {
  position: fixed; z-index: 1200; left: 0; right: 0; bottom: 0;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1rem;
  padding: .625rem 1rem calc(.625rem + env(safe-area-inset-bottom, 0px));
  background: #fff; color: #171a2b; border-top: 1px solid #d5d8e6;
  box-shadow: 0 -8px 24px -16px rgba(13, 15, 26, .35);
  font: 400 .875rem/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.mcw-consent[hidden] { display: none; }
.mcw-consent__text { margin: 0; flex: 1 1 28rem; max-width: 48rem; }
.mcw-consent__text a { color: #3d27d6; text-decoration: underline; }
.mcw-consent__actions { display: flex; align-items: center; gap: .5rem; flex: none; }
.mcw-consent__btn {
  min-height: 36px; padding: .35rem 1rem; border-radius: 8px; cursor: pointer;
  font-family: inherit; font-weight: 600; font-size: .875rem; line-height: 1;
  background: #fff; color: #171a2b; border: 1px solid #5b6172;
}
.mcw-consent__btn:hover { background: #f2f3f9; }
.mcw-consent__close {
  display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: #5b6172; cursor: pointer; font-family: inherit; font-weight: 400; font-size: 1.25rem; line-height: 1;
}
.mcw-consent__close:hover { background: #f2f3f9; }
.mcw-consent__btn:focus-visible, .mcw-consent__close:focus-visible, .mcw-consent__text a:focus-visible,
.mcw-consent-link:focus-visible { outline: 2px solid #513bf4; outline-offset: 2px; }

/* Phones: keep it short so it covers as little as possible. */
@media (max-width: 480px) {
  .mcw-consent { padding: .5rem .75rem calc(.5rem + env(safe-area-inset-bottom, 0px)); font-size: .8125rem; gap: .375rem; }
  .mcw-consent__text { flex-basis: 100%; }
  .mcw-consent__actions { width: 100%; }
  .mcw-consent__btn { flex: 1; min-height: 34px; }
}

/* "Ad cookie settings" link on the React /register page (the site footer has its own). */
.mcw-consent-link-row { margin: 0; padding: .75rem 1rem 1.25rem; text-align: center; font-size: .8125rem; }
.mcw-consent-link {
  padding: 0; border: 0; background: none; color: #5b6172; text-decoration: underline; cursor: pointer;
  font: inherit;
}
