.consent-root{position:relative;z-index:var(--z-modal)}
.consent-banner{
  position:fixed;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);
  max-width:72rem;margin:auto;padding:var(--space-4);
  border:1px solid var(--border-strong);background:var(--surface-raised);box-shadow:var(--shadow-lg);
}
.consent-banner h2,.consent-settings h2{margin:0;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-display)}
.consent-banner h2{font-size:var(--text-lg)}
.consent-banner p,.consent-settings p{margin:var(--space-1) 0 0;color:var(--text-muted);line-height:1.5}
.consent-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
.consent-actions .btn{flex:1 1 auto;white-space:nowrap}
.consent-backdrop{
  position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);
  background:color-mix(in srgb,var(--color-accent-900) 42%,transparent);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.consent-settings{width:min(40rem,100%);max-height:calc(100vh - var(--space-8));overflow:auto;padding:var(--space-5);border:1px solid var(--border-strong);background:var(--surface-raised);box-shadow:var(--shadow-lg)}
.consent-options{display:grid;gap:var(--space-2);margin:var(--space-5) 0}
.consent-option{padding:var(--space-3);border:1px solid var(--border)}
.consent-option span{display:grid;gap:var(--space-1)}
.consent-option small{color:var(--text-muted);line-height:1.45}
.consent-signal{padding:var(--space-3);border:1px solid var(--border-strong)}
.consent-policy{font-size:var(--text-sm)}
.consent-policy a{color:var(--color-link)}
.privacy-settings-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.privacy-settings-button:hover{text-decoration:underline}
@media (max-width:700px){
  .consent-banner{align-items:stretch;flex-direction:column;left:var(--space-2);right:var(--space-2);bottom:var(--space-2)}
  .consent-actions{display:grid;grid-template-columns:repeat(2,1fr)}
  .consent-actions .btn{padding-inline:var(--space-2);white-space:normal}
  .consent-settings{padding:var(--space-4)}
}
