.kimolia-consent {
  position:fixed;
  z-index:1000;
  left:16px;
  bottom:max(16px,env(safe-area-inset-bottom));
  width:380px;
  max-width:calc(100% - 32px);
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  overscroll-behavior:contain;
  box-sizing:border-box;
  padding:16px;
  background:#fffefa;
  color:#173e35;
  border:1px solid #dce4d8;
  border-radius:12px;
  box-shadow:0 4px 24px #173e351a;
  font:13px/1.55 var(--font,Arial,sans-serif);
}
.kimolia-consent[hidden],.kimolia-consent button[hidden],.kimolia-consent-settings[hidden] { display:none; }
.kimolia-consent-heading { display:flex; align-items:center; justify-content:space-between; min-height:22px; }
.kimolia-consent strong { font-size:15px; font-weight:650; }
.kimolia-consent p { margin:8px 0 14px; font:inherit; color:inherit; text-wrap:pretty; }
.kimolia-consent a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.kimolia-consent-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.kimolia-consent button,.kimolia-consent-settings {
  box-sizing:border-box;
  min-height:44px;
  padding:8px;
  border:1px solid #acbcb1;
  background:#fffefa;
  color:#173e35;
  font:500 12px/1.35 var(--font,Arial,sans-serif);
  cursor:pointer;
  border-radius:6px;
}
.kimolia-consent button[data-close] { width:44px; padding:0; margin:-11px -10px -11px 0; border:0; font-size:22px; }
.kimolia-consent-settings { position:fixed; z-index:999; bottom:max(12px,env(safe-area-inset-bottom)); left:12px; padding:8px 14px; border-color:#dce4d8; border-radius:24px; box-shadow:0 2px 8px #173e3512; }
.kimolia-consent button:hover,.kimolia-consent-settings:hover { background:#e9eee5; }
.kimolia-consent button:focus-visible,.kimolia-consent-settings:focus-visible,.kimolia-consent a:focus-visible { outline:3px solid #648b2f; outline-offset:3px; }
@media(max-width:420px) {
  .kimolia-consent { left:12px; bottom:max(12px,env(safe-area-inset-bottom)); max-width:calc(100% - 24px); padding:14px; }
}
