/* Scoped consent controls; page layout, links and styles remain independent. */
.jumpfit-consent,
.jumpfit-consent * { box-sizing: border-box; }
.jumpfit-consent {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 1000;
  padding: 12px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom));
  color: #151b27;
  font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-align: start;
  pointer-events: none;
}
.jumpfit-consent [hidden] { display: none !important; }
.jumpfit-consent-panel {
  max-width: 960px;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  margin-inline: auto;
  padding: 16px 20px;
  background: #f7f7f2;
  border: 1px solid #b8b9c3;
  border-radius: 12px;
  box-shadow: 0 3px 18px rgb(21 27 39 / 18%);
  pointer-events: auto;
}
.jumpfit-consent-title {
  margin: 0 0 6px;
  font: 600 16px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  letter-spacing: normal;
}
.jumpfit-consent-description,
.jumpfit-consent-detail,
.jumpfit-consent-status { margin: 0 0 8px; font: inherit; line-height: 1.5; }
.jumpfit-consent-detail { color: #58616b; }
.jumpfit-consent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.jumpfit-consent-button {
  min-height: 44px;
  padding: 9px 14px;
  color: #151b27;
  background: #fff;
  border: 1px solid #7b7b89;
  border-radius: 7px;
  font: inherit;
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
  pointer-events: auto;
}
.jumpfit-consent-button:hover { background: #eae8f6; }
.jumpfit-consent-button:disabled { opacity: .6; cursor: default; }
.jumpfit-consent-privacy { font: inherit; color: #4238a6; padding: 9px 2px; text-decoration: underline; }
.jumpfit-consent-button:focus-visible,
.jumpfit-consent-privacy:focus-visible { outline: 3px solid #5c50cf; outline-offset: 3px; }
.jumpfit-consent-settings { display: block; margin-inline-start: auto; box-shadow: 0 2px 8px rgb(21 27 39 / 14%); }
.jumpfit-consent-space { display: block; width: 100%; pointer-events: none; }
@media (max-width: 600px) {
  .jumpfit-consent { font-size: 13px; }
  .jumpfit-consent-panel { padding: 12px 14px; }
  .jumpfit-consent-actions { gap: 8px; }
  .jumpfit-consent-actions > .jumpfit-consent-button { flex: 1 1 140px; }
}
