.sk-consent-root { font-family: inherit; }
.sk-consent-banner {
  position: fixed; bottom: 1rem; left: 1rem; right: 1rem; max-width: 42rem;
  background: #464646; color: #fff; padding: 1rem; z-index: 5101;
  border-radius: 4px; box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.sk-consent-desc { margin: 0 0 1rem; line-height: 1.45; }
.sk-consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.sk-consent-btn {
  min-height: 44px; min-width: 44px; padding: .5rem 1rem; border-radius: 4px;
  font-size: 1rem; cursor: pointer; border: 2px solid transparent;
}
.sk-consent-btn-primary { background: #00a651; color: #fff; border-color: #00a651; }
.sk-consent-btn-secondary { background: transparent; color: #fff; border-color: #fff; }
.sk-consent-btn-tertiary { background: transparent; color: #fff; border-color: #888; }
.sk-consent-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(0,166,81,.45); }
.sk-consent-modal {
  position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 5200;
  display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.sk-consent-modal[hidden] { display: none !important; }
.sk-consent-modal-panel {
  background: #fff; color: #222; max-width: 32rem; width: 100%; max-height: 90vh;
  overflow: auto; padding: 1.25rem; border-radius: 6px;
}
.sk-consent-category { margin: 1rem 0; }
.sk-consent-badge { font-size: .875rem; color: #555; }
.sk-consent-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Fixed floating settings control — not in document flow */
.sk-consent-settings-fab {
  position: fixed;
  z-index: 5100;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  left: calc(1rem + env(safe-area-inset-left, 0px));
  width: 48px;
  height: 48px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 2px solid #00a651;
  background: #1a1a1a;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}
.sk-consent-settings-fab[hidden] { display: none !important; }
.sk-consent-settings-fab__icon { width: 22px; height: 22px; pointer-events: none; }
.sk-consent-settings-fab:hover,
.sk-consent-settings-fab:focus-visible {
  background: #2a2a2a;
  border-color: #00c965;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 166, 81, 0.45);
}

@media (max-width: 390px) {
  .sk-consent-actions { flex-direction: column; }
  .sk-consent-btn { width: 100%; }
  .sk-consent-settings-fab {
    bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    left: calc(0.75rem + env(safe-area-inset-left, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .sk-consent-banner { transition: none; }
  .sk-consent-settings-fab { transition: none; }
}
