/* Compact, theme-aware consent controls. Overrides legacy inline defaults. */
#site-consent-root.consent-root{
  inset:auto 12px calc(12px + env(safe-area-inset-bottom)) auto!important;
  width:min(520px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));
  overflow:auto;
  scrollbar-width:thin;
}
.consent-panel,.consent-modal-card{
  color:var(--text-primary)!important;
  background:var(--surface-1)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--corner-3)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.2)!important;
}
.consent-panel{
  width:100%!important;
  max-height:inherit;
  overflow:auto;
  padding:12px!important;
}
.consent-panel.open{display:block!important}
.consent-title{font-size:.9rem!important;line-height:1.3;font-weight:800!important}
.consent-copy{
  color:var(--text-secondary)!important;
  font-size:.76rem!important;
  line-height:1.4!important;
  margin:4px 0 9px!important;
}
.consent-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:6px!important;
}
.consent-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:44px!important;
  padding:7px 9px!important;
  border:1px solid var(--border)!important;
  border-radius:var(--corner-1)!important;
  background:var(--surface-2)!important;
  color:var(--text-primary)!important;
  font-size:.76rem;
  font-weight:700!important;
  line-height:1.25;
  text-align:center;
  box-shadow:none!important;
  transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease;
}
.consent-btn.primary,
.consent-btn[data-consent-action="necessary"]{
  border-color:var(--border)!important;
  background:var(--surface-2)!important;
  color:var(--text-primary)!important;
}
.consent-btn:hover{border-color:var(--primary)!important;background:var(--elevated)!important}
.consent-btn.ghost{
  color:var(--text-secondary)!important;
  background:transparent!important;
}
.consent-links{
  display:flex;
  flex-wrap:wrap;
  gap:4px 12px!important;
  margin-top:5px!important;
  font-size:.7rem!important;
}
.consent-links a{color:var(--info)!important;min-height:32px;display:inline-flex;align-items:center}
.consent-modal{
  background:rgba(3,8,18,.68)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}
.consent-modal.open{display:grid!important}
.consent-modal-card{width:min(520px,100%)!important;padding:18px!important}
.consent-modal h2{color:var(--text-primary);font-size:1.25rem!important}
.consent-modal .consent-row{border-color:var(--border)!important}
.consent-modal .consent-row span{color:var(--text-secondary)!important;font-size:.78rem!important}
.consent-close{color:var(--text-secondary)!important;min-width:44px!important;min-height:44px!important}
.consent-toggle{background:var(--surface-2)!important;min-height:44px!important;height:44px!important}
.consent-toggle[aria-checked="true"]{background:var(--primary)!important}
.consent-btn:focus-visible,.consent-close:focus-visible,.consent-toggle:focus-visible,.consent-links a:focus-visible{
  outline:0!important;
  box-shadow:var(--focus-ring)!important;
}
@media(max-width:520px){
  #site-consent-root.consent-root{
    inset:auto 8px calc(8px + env(safe-area-inset-bottom)) auto!important;
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px - env(safe-area-inset-bottom));
  }
  .consent-panel{padding:10px!important}
  .consent-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consent-actions [data-consent-action="settings"]{grid-column:1/-1}
  .consent-modal{padding:10px!important}
  .consent-modal-card{padding:14px!important}
  .consent-modal-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important}
  .consent-modal-actions .consent-btn{min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .consent-btn,.consent-toggle:after{transition:none!important}
}
