
.story-consent[hidden],
.story-consent__preferences[hidden] { display:none !important; }
.story-consent {
  position:fixed; inset:0; z-index:var(--z-cookie-bar,900);
  display:flex; align-items:flex-end; justify-content:flex-start;
  padding:0 0 24px 24px; background:transparent;
  pointer-events:none;
}
.story-consent__panel {
  width:min(calc(100vw - 48px), 540px); background:#fff; color:#000;
  border:1px solid #b8b8b8; padding:18px 18px 16px;
  box-shadow:0 8px 28px rgba(0,0,0,.10);
  pointer-events:auto;
}
.story-consent__main > p {
  max-width:500px; margin:0 0 16px;
  font:300 13px/18px var(--story-font);
}
.story-consent__actions { display:flex; flex-wrap:wrap; gap:8px; }
.story-consent__button {
  appearance:none; display:inline-flex; align-items:center; justify-content:center;
  min-height:38px; padding:8px 13px; border:1px solid #000; border-radius:0;
  background:#fff; color:#000; text-decoration:none; cursor:pointer;
  font:500 10px/13px var(--story-font); text-transform:uppercase; letter-spacing:.02em;
}
.story-consent__button--primary,
.story-consent__button:hover,
.story-consent__button:focus-visible { background:#000; color:#fff; }
.story-consent__button:focus-visible,
.story-consent__close:focus-visible,
.story-cookie-settings-link:focus-visible { outline:2px solid #000; outline-offset:3px; }
.story-consent__preferences-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:8px; }
.story-consent__preferences-head h2 { margin:0; font:500 18px/22px var(--story-font); }
.story-consent__close { border:0; background:transparent; color:#000; font:300 28px/1 var(--story-font); cursor:pointer; }
.story-consent__choice {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:18px 0; border-top:1px solid #ddd; font:400 13px/18px var(--story-font);
}
.story-consent__choice strong { font-weight:500; text-transform:uppercase; font-size:12px; }
.story-consent__choice p { margin:4px 0 0; max-width:470px; font-weight:300; }
.story-consent__choice > span { white-space:nowrap; font-size:10px; text-transform:uppercase; }
.story-consent__choice input { width:20px; height:20px; accent-color:#000; flex:0 0 auto; }
.story-consent__actions--prefs { margin-top:4px; }
.story-cookie-settings-link {
  display:block; margin:18px auto 0; padding:0; border:0; background:transparent;
  color:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px;
  font:400 11px/16px var(--story-font); text-transform:uppercase;
}
.story-consent-embed {
  display:flex; min-height:180px; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:28px; background:#f3f3f3; text-align:center;
}
.story-consent-embed p { margin:0 !important; max-width:520px; font:300 14px/20px var(--story-font) !important; }
.story-consent-inline-settings {
  appearance:none; border:1px solid #000; background:#fff; padding:10px 16px;
  font:500 11px/14px var(--story-font); text-transform:uppercase; cursor:pointer;
}
@media (min-width:768px) {
  .story-consent__panel { padding:18px; }
}
@media (max-width:639.98px) {
  .story-consent { padding:0 12px 12px; }
  .story-consent__panel { width:100%; max-height:calc(100svh - 24px); overflow:auto; }
  .story-consent__actions { display:grid; grid-template-columns:1fr; }
  .story-consent__button { width:100%; }
  .story-consent__choice { align-items:flex-start; }
}

/* v1.1.28: four granular purposes remain compact on tall preference panels. */
.story-consent__preferences{max-height:min(78svh,680px);overflow:auto;padding-right:2px}
