.factly-marketing-consent {
  position: fixed; z-index: 1200; bottom: 16px; right: 16px;
  width: 460px; max-width: calc(100% - 32px); padding: 16px; box-sizing: border-box;
  border: 1px solid var(--factly-border, #D9E7EB); border-radius: var(--radius-xl, 16px); background: var(--factly-surface, #F7FBFC);
  color: var(--factly-ink, #13293D); box-shadow: var(--shadow-lg, 0 8px 36px #13293D26);
  font: 13px/1.5 var(--factly-font-ui, Inter, system-ui, sans-serif);
}
.factly-marketing-consent[hidden], .factly-marketing-preferences[hidden] { display: none; }
.factly-marketing-consent strong { display: block; padding-right: 28px; }
.factly-marketing-consent p { margin: 6px 0 10px; }
.factly-marketing-status { display: block; color: var(--text-muted, #526474); font-size: 12px; margin-bottom: 6px; }
.factly-marketing-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.factly-marketing-actions button, .factly-marketing-preferences {
  padding: 10px 16px; border: 1px solid var(--factly-border, #D9E7EB); border-radius: 10px;
  color: var(--factly-ink, #13293D); background: var(--factly-white, white); cursor: pointer; font: inherit;
}
.factly-marketing-actions button { padding: 4px 0; border: 0; background: transparent; color: var(--factly-teal-dark, #0C7A8F); text-decoration: underline; }
.factly-marketing-close { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; font-size: 24px; }
.factly-marketing-actions a { color: var(--factly-teal-dark, #0C7A8F); text-decoration: underline; }
.factly-marketing-preferences { display: block; margin: 16px auto; font: 13px var(--factly-font-ui, Inter, system-ui, sans-serif); }
.factly-marketing-consent button:focus-visible, .factly-marketing-preferences:focus-visible { outline: 3px solid var(--factly-teal-main, #18C3CB); outline-offset: 3px; }
@media (max-width: 480px) {
  .factly-marketing-consent { bottom: 8px; left: 8px; right: 8px; max-width: calc(100% - 16px); padding: 14px; max-height: 60vh; overflow: auto; }
}
