:root{
  --adhalla-consent-bg:#160a20;
  --adhalla-consent-panel:#24112f;
  --adhalla-consent-panel-2:#2e1839;
  --adhalla-consent-text:#f7f0e8;
  --adhalla-consent-muted:#c8b9c9;
  --adhalla-consent-border:rgba(247,240,232,.14);
  --adhalla-consent-gold:#f4a112;
  --adhalla-consent-shadow:0 24px 80px rgba(0,0,0,.42);
}
.adhalla-consent-lock{overflow:hidden}
.adhalla-consent-backdrop{
  position:fixed;inset:0;z-index:9998;background:rgba(5,2,9,.55);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  opacity:0;pointer-events:none;transition:opacity .2s ease
}
.adhalla-consent-backdrop.is-visible{opacity:1;pointer-events:auto}
.adhalla-consent-banner{
  position:fixed;left:50%;bottom:22px;width:min(960px,calc(100vw - 34px));z-index:9999;
  transform:translate(-50%,22px);opacity:0;pointer-events:none;
  border:1px solid var(--adhalla-consent-border);border-radius:26px;
  background:radial-gradient(circle at 95% 0%,rgba(244,161,18,.10),transparent 15rem),
  linear-gradient(145deg,var(--adhalla-consent-panel),var(--adhalla-consent-bg));
  color:var(--adhalla-consent-text);box-shadow:var(--adhalla-consent-shadow);
  transition:opacity .22s ease,transform .22s ease
}
.adhalla-consent-banner.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.adhalla-consent-inner{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);
  gap:28px;align-items:end;padding:28px
}
.adhalla-consent-kicker{
  display:block;margin-bottom:9px;color:var(--adhalla-consent-gold);
  font-size:.76rem;font-weight:800;letter-spacing:.16em
}
.adhalla-consent-title{
  margin:0 0 10px;color:var(--adhalla-consent-text);
  font-size:clamp(1.45rem,2.7vw,2.2rem);line-height:1.05;letter-spacing:-.025em
}
.adhalla-consent-copy{
  margin:0;max-width:650px;color:var(--adhalla-consent-muted);
  font-size:.98rem;line-height:1.55
}
.adhalla-consent-copy a,.adhalla-consent-modal a{
  color:var(--adhalla-consent-text);text-underline-offset:3px
}
.adhalla-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.adhalla-consent-button{
  min-height:52px;border-radius:14px;border:1px solid var(--adhalla-consent-border);
  padding:0 16px;font:inherit;font-weight:750;cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background .15s ease
}
.adhalla-consent-button:hover{transform:translateY(-1px)}
.adhalla-consent-button.accept{
  background:var(--adhalla-consent-gold);border-color:var(--adhalla-consent-gold);color:#160a20
}
.adhalla-consent-button.reject{background:rgba(247,240,232,.06);color:var(--adhalla-consent-text)}
.adhalla-consent-button.manage{grid-column:1/-1;background:transparent;color:var(--adhalla-consent-muted)}
.adhalla-consent-settings{
  position:fixed;left:18px;bottom:18px;z-index:9995;
  border:1px solid rgba(247,240,232,.14);border-radius:999px;
  background:rgba(22,10,32,.88);color:var(--adhalla-consent-muted);
  box-shadow:0 12px 34px rgba(0,0,0,.22);padding:10px 14px;
  font:inherit;font-size:.78rem;cursor:pointer;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.adhalla-consent-modal{
  position:fixed;top:50%;left:50%;z-index:10000;width:min(650px,calc(100vw - 34px));
  max-height:min(760px,calc(100vh - 34px));overflow:auto;
  transform:translate(-50%,-46%) scale(.98);opacity:0;pointer-events:none;
  border:1px solid var(--adhalla-consent-border);border-radius:26px;
  background:radial-gradient(circle at 88% 0%,rgba(244,161,18,.09),transparent 15rem),
  linear-gradient(145deg,var(--adhalla-consent-panel-2),var(--adhalla-consent-bg));
  color:var(--adhalla-consent-text);box-shadow:var(--adhalla-consent-shadow);
  transition:opacity .2s ease,transform .2s ease
}
.adhalla-consent-modal.is-visible{
  opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto
}
.adhalla-consent-modal-inner{padding:30px}
.adhalla-consent-modal-header{margin-bottom:22px}
.adhalla-consent-modal-header h2{
  margin:0 0 8px;font-size:clamp(1.65rem,4vw,2.45rem);color:var(--adhalla-consent-text)
}
.adhalla-consent-modal-header p{
  margin:0;color:var(--adhalla-consent-muted);line-height:1.55
}
.adhalla-consent-choice{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px 0;border-top:1px solid var(--adhalla-consent-border)
}
.adhalla-consent-choice-copy{min-width:0}
.adhalla-consent-choice-copy strong{
  display:block;margin-bottom:4px;color:var(--adhalla-consent-text)
}
.adhalla-consent-choice-copy span{
  color:var(--adhalla-consent-muted);font-size:.9rem;line-height:1.45
}
.adhalla-consent-always{
  flex:none;color:var(--adhalla-consent-gold);font-size:.78rem;font-weight:800
}
.adhalla-consent-switch{position:relative;flex:none;width:52px;height:30px}
.adhalla-consent-switch input{position:absolute;opacity:0;pointer-events:none}
.adhalla-consent-slider{
  position:absolute;inset:0;border-radius:999px;background:#4f4055;
  cursor:pointer;transition:background .18s ease
}
.adhalla-consent-slider::after{
  content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;
  border-radius:50%;background:#f7f0e8;transition:transform .18s ease
}
.adhalla-consent-switch input:checked + .adhalla-consent-slider{background:var(--adhalla-consent-gold)}
.adhalla-consent-switch input:checked + .adhalla-consent-slider::after{transform:translateX(22px)}
.adhalla-consent-modal-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:22px;
  border-top:1px solid var(--adhalla-consent-border)
}
.adhalla-consent-modal-note{
  margin:16px 0 0;color:var(--adhalla-consent-muted);font-size:.78rem;line-height:1.45
}
@media(max-width:760px){
  .adhalla-consent-banner{bottom:12px;width:calc(100vw - 22px);border-radius:22px}
  .adhalla-consent-inner{grid-template-columns:1fr;gap:20px;padding:22px}
  .adhalla-consent-actions{grid-template-columns:1fr}
  .adhalla-consent-button.manage{grid-column:auto}
  .adhalla-consent-settings{left:10px;bottom:10px;font-size:.72rem;padding:9px 12px}
  .adhalla-consent-modal{width:calc(100vw - 22px);max-height:calc(100vh - 22px);border-radius:22px}
  .adhalla-consent-modal-inner{padding:22px}
  .adhalla-consent-choice{gap:14px}
  .adhalla-consent-modal-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .adhalla-consent-banner,.adhalla-consent-modal,.adhalla-consent-button{transition:none}
}


/* V2 privacy-first additions */
.adhalla-consent-policy{display:flex;align-items:flex-start;gap:14px;margin:6px 0 22px;padding:17px 18px;border:1px solid var(--adhalla-consent-border);border-radius:16px;background:rgba(247,240,232,.035)}
.adhalla-consent-policy-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:rgba(244,161,18,.12);color:var(--adhalla-consent-gold);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.adhalla-consent-policy strong{display:block;margin-bottom:4px;color:var(--adhalla-consent-text)}
.adhalla-consent-policy span{display:block;color:var(--adhalla-consent-muted);font-size:.9rem;line-height:1.45}
.adhalla-consent-actions .reject{border-color:rgba(247,240,232,.25)}
.adhalla-consent-actions .reject,.adhalla-consent-actions .accept{min-height:54px}
@media(max-width:760px){.adhalla-consent-policy{padding:15px}}
