/* Self-contained consent controls; existing page layout remains unchanged. */
.ss-consent[hidden], .ss-cookie-settings[hidden] { display: none !important; }
.ss-consent {
  position: fixed;
  left: 1rem;
  bottom: 5.75rem;
  z-index: 10001;
  width: min(30rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 7rem);
  overflow-y: auto;
  box-sizing: border-box;
  padding: 1.25rem;
  background: #18191b;
  color: #f4f4f4;
  border: 1px solid #9b702e;
  border-radius: 1rem;
  box-shadow: 0 12px 40px #0008;
  font-family: Inter, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}
.ss-consent h2 { margin: 0 0 .6rem; font-size: 1.125rem; line-height: 1.35; letter-spacing: normal; color: #ffbc58; }
.ss-consent p { margin: 0 0 .8rem; font-size: 1rem; line-height: 1.55; color: #eee; }
.ss-consent summary { cursor: pointer; font-size: .875rem; }
.ss-consent details p { margin-top: .65rem; font-size: .875rem; }
.ss-consent a { color: #ffbc58; text-decoration: underline; }
.ss-consent-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.ss-consent-actions button, .ss-cookie-settings {
  font: 500 .875rem/1.4 Inter, Arial, sans-serif;
  color: #f4f4f4;
  background: #242529;
  border: 1px solid #c99446;
  border-radius: .5rem;
  min-height: 44px;
  padding: .65rem .85rem;
  cursor: pointer;
}
.ss-consent-actions button { flex: 1 1 10rem; }
.ss-consent-actions button:hover, .ss-cookie-settings:hover { background: #3b3020; }
.ss-consent button:focus-visible, .ss-consent a:focus-visible, .ss-consent summary:focus-visible, .ss-cookie-settings:focus-visible { outline: 3px solid #ffbc58; outline-offset: 3px; }
.ss-cookie-settings { position: fixed; left: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 10000; box-shadow: 0 4px 20px #0005; }
