/* Explicit footer preferences; never a banner or a page-blocking prompt on arrival. */
.ec-engagement-preferences {
  display: inline-flex; align-items: center; min-height: 44px; margin: .25rem 0;
  padding: .25rem 0; border: 0; background: transparent; color: inherit;
  font: inherit; font-size: .875rem; text-decoration: underline; text-underline-offset: .2em;
  cursor: pointer;
}
.ec-engagement-dialog {
  box-sizing: border-box; width: min(38rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem);
  margin: auto; padding: clamp(1.25rem, 4vw, 2rem); overflow-y: auto;
  border: 1px solid #172b42; border-radius: 1rem; background: #f7f5ef; color: #172b42;
  font-family: inherit; font-size: 1rem; line-height: 1.55; overflow-wrap: anywhere;
}
.ec-engagement-dialog:not([open]) { display: none; }
.ec-engagement-dialog::backdrop { background: rgb(12 25 39 / .55); }
.ec-engagement-dialog__title { margin: 0 0 1rem; font-size: clamp(1.35rem, 3vw, 1.75rem); line-height: 1.2; }
.ec-engagement-dialog p { margin: 0 0 1rem; }
.ec-engagement-dialog__status { padding-block: .75rem; border-top: 1px solid #adb5b9; font-weight: 600; }
.ec-engagement-dialog__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.ec-engagement-dialog__choice, .ec-engagement-dialog__close {
  min-height: 44px; padding: .75rem 1rem; border: 1px solid #172b42; border-radius: .5rem;
  background: #fff; color: #172b42; font: inherit; line-height: 1.3; cursor: pointer;
}
.ec-engagement-dialog__choice:hover, .ec-engagement-dialog__close:hover { background: #e9edf0; }
.ec-engagement-dialog__close { display: block; margin: 1rem 0 0 auto; }
.ec-engagement-preferences:focus-visible, .ec-engagement-dialog button:focus-visible { outline: 3px solid #3575ab; outline-offset: 3px; }
@media (max-width: 34rem) { .ec-engagement-dialog__actions { grid-template-columns: 1fr; } }
