/* One shared layout; both labels inherit their own brand colours. */
.st-consent {
  position: fixed;
  z-index: 120;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  width: min(480px, calc(100vw - 40px));
  max-height: calc(100svh - 100px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--text);
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line));
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 60px rgb(0 0 0 / .7), inset 0 1px color-mix(in srgb, var(--accent) 45%, transparent);
  font: 400 14px/1.5 var(--font-sans);
  text-align: left;
}
.st-consent__content { padding: 20px 22px 4px; overflow-y: auto; overscroll-behavior: contain; }
.st-consent__brand { margin: 0 0 6px; color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.st-consent h2 { margin: 0 36px 8px 0; font: 700 27px/1.1 var(--font-display); letter-spacing: .01em; }
.st-consent p { margin: 0 0 12px; }
.st-consent .st-consent__brand { margin-bottom: 6px; }
.st-consent__close { position: absolute; top: 8px; right: 8px; width: 44px; min-height: 44px; border: 0; background: var(--surface); color: var(--text); font: 24px/1 var(--font-sans); cursor: pointer; border-radius: 50%; }
.st-consent__category { border-top: 1px solid var(--line); padding: 14px 0 2px; }
.st-consent__category strong { display: block; font-weight: 700; }
.st-consent__category small { display: block; margin: 6px 0 10px; font-size: 12px; color: var(--text-muted); }
.st-consent__category label { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; font-weight: 700; }
.st-consent__category input { width: 22px; height: 22px; flex-shrink: 0; accent-color: var(--accent); }
.st-consent__note { font-size: 12px; color: var(--text-muted); }
.st-consent__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 10px 22px 0; flex-shrink: 0; }
.st-consent__actions button { min-height: 46px; padding: 8px; color: var(--text); background: var(--surface-raised); border: 1px solid color-mix(in srgb, var(--accent) 46%, var(--line)); border-radius: var(--radius-sm); font: 700 12px/1.3 var(--font-sans); cursor: pointer; }
.st-consent__actions button:hover { background: var(--surface-hover); border-color: var(--accent); }
.st-consent__links { display: flex; flex-wrap: wrap; gap: 0 16px; padding: 0 22px 4px; flex-shrink: 0; }
.st-consent__links a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: var(--text-muted); font-size: 11px; text-underline-offset: 3px; }
.st-consent button:focus-visible, .st-consent a:focus-visible, .st-consent input:focus-visible, .st-consent-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.st-consent-link { min-height: 44px; padding: 8px 0; color: inherit; font: inherit; background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
  .st-consent { right: max(10px, env(safe-area-inset-right)); left: max(10px, env(safe-area-inset-left)); bottom: max(10px, env(safe-area-inset-bottom)); width: auto; max-height: min(75svh, calc(100svh - 76px)); font-size: 13px; }
  .st-consent__content { padding: 16px 16px 0; }
  .st-consent h2 { font-size: 25px; }
  .st-consent__actions { padding: 10px 16px 0; gap: 6px; }
  .st-consent__actions button { font-size: 11px; }
  .st-consent__links { padding: 0 16px; gap: 0 12px; }
}
@media (max-height: 480px) and (min-width: 601px) {
  .st-consent { bottom: 10px; max-height: calc(100svh - 72px); width: min(620px, calc(100vw - 40px)); }
  .st-consent__content { padding-top: 12px; }
}
