.ads-consent[hidden] { display: none; }
.ads-consent {
  position: fixed;
  z-index: 1000;
  inset: auto var(--jc-space-4) var(--jc-space-4);
  display: grid;
  gap: var(--jc-space-5);
  max-inline-size: 48rem;
  margin-inline: auto;
  padding: var(--jc-space-6);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius-md);
  background: var(--jc-bg-raised);
  color: var(--jc-fg);
  box-shadow: var(--jc-shadow-sm);
  font-family: var(--jc-font-body);
}
.ads-consent__copy { display: grid; gap: var(--jc-space-2); }
.ads-consent__copy strong { font-size: var(--jc-text-base); }
.ads-consent__copy p { margin: 0; max-inline-size: 68ch; font-size: var(--jc-text-sm); line-height: 1.5; }
.ads-consent__copy a { color: var(--jc-accent-text); text-decoration: underline; }
.ads-consent__actions { display: flex; flex-wrap: wrap; gap: var(--jc-space-3); }
.ads-consent__actions button {
  min-block-size: var(--jc-target-sm);
  padding: var(--jc-space-2) var(--jc-space-5);
  border: 1px solid var(--jc-accent);
  border-radius: var(--jc-radius-sm);
  background: var(--jc-bg-raised);
  color: var(--jc-accent-text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.ads-consent__actions [data-ads-accept] { background: var(--jc-accent); color: var(--jc-color-white); }
.ads-consent__actions button:focus-visible,
.ads-consent__preference:focus-visible { outline: 2px solid var(--jc-accent); outline-offset: var(--jc-outline-offset); }
.ads-consent__preference {
  min-block-size: var(--jc-target-sm);
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
@media (min-width: 720px) {
  .ads-consent { grid-template-columns: 1fr auto; align-items: end; }
  .ads-consent__actions { flex-wrap: nowrap; }
}
