.rejo-cookie-banner { position: fixed; z-index: 11000; left: 20px; bottom: 20px; width: min(520px, calc(100vw - 40px)); box-sizing: border-box; padding: 20px; background: #fff; color: #333; border: 1px solid #ddd; box-shadow: 0 4px 24px #0002; font: 13px/1.5 EuclidFlex, system-ui, sans-serif; }
.rejo-cookie-banner[hidden] { display: none !important; }
.rejo-cookie-banner p { font: inherit; margin: 0 0 14px; }
.rejo-cookie-banner a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rejo-cookie-actions { display: flex; gap: 12px; }
.rejo-cookie-actions button { flex: 1; min-height: 44px; background: #fff; color: #222; border: 1px solid #222; font: inherit; cursor: pointer; padding: 10px 16px; }
.rejo-cookie-actions button:first-child { background: #222; color: #fff; }
.rejo-cookie-actions button:focus-visible, #rejo-cookie-settings:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.rejo-cookie-actions button:disabled { opacity: .6; cursor: wait; }
.rejo-cookie-banner .rejo-cookie-error { color: #9a2323; margin: 8px 0 0; }
.rejo-cookie-error:empty { display: none; }
#rejo-cookie-settings { font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 2px; border: 0; background: transparent; cursor: pointer; padding: 0; }
.rejo-cookie-footer { padding: 20px; text-align: center; font: 12px system-ui, sans-serif; }
@media(max-width: 860px) {
  .rejo-cookie-banner { left: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 16px; max-height: 45vh; overflow-y: auto; }
  .rejo-checkout-page .rejo-cookie-banner { bottom: calc(var(--rejo-submit-height, 230px) + 12px); }
}
