#io-privacy { font: 16px/1.5 Arial, sans-serif; color: #25212b; margin: 0; padding: 0; box-sizing: border-box; }
#io-privacy * { box-sizing: border-box; }
#io-privacy [hidden] { display: none !important; }
#io-privacy .io-privacy__notice, #io-privacy .io-privacy__settings {
  position: fixed; left: 50%; bottom: 20px; z-index: 9;
  width: calc(100% - 32px); max-width: 1100px; max-height: calc(100vh - 40px);
  overflow-y: auto; transform: translateX(-50%); margin: 0; padding: 18px 20px;
  border: 1px solid #d9c8e6; border-radius: 6px; background: #fff;
  box-shadow: 0 10px 35px rgba(30, 19, 37, .24);
}
#io-privacy .io-privacy__settings { max-width: 680px; }
#io-privacy p { margin: 0 0 12px; }
#io-privacy h2 { font: bold 22px/1.3 Arial, sans-serif; margin: 0 0 16px; }
#io-privacy a { color: #672798; text-decoration: underline; }
#io-privacy label { display: block; font-weight: normal; margin: 12px 0; cursor: pointer; }
#io-privacy input[type=checkbox] { position: static; opacity: 1; appearance: auto; width: 20px; height: 20px; vertical-align: middle; margin: 0 8px 0 0; }
#io-privacy button { appearance: none; display: inline-block; font: 16px/1.3 Arial, sans-serif; border: 1px solid #672798; background: #fff; color: #672798; border-radius: 4px; padding: 10px 14px; cursor: pointer; height: auto; white-space: normal; }
#io-privacy button:hover { background: #f1eaf7; }
#io-privacy button[data-privacy-action=accept], #io-privacy button[data-privacy-action=save] { background: #92278f; border-color: #92278f; color: #fff; }
#io-privacy button[data-privacy-action=accept]:hover, #io-privacy button[data-privacy-action=save]:hover { background: #732071; }
#io-privacy button:focus-visible, #io-privacy input:focus-visible, #io-privacy a:focus-visible { outline: 2px solid #672798; outline-offset: 3px; }
#io-privacy .io-privacy__actions { display: flex; flex-wrap: wrap; gap: 10px; }
#io-privacy .io-privacy__status { margin-top: 8px; }
#io-privacy .io-privacy__open { position: fixed; right: 16px; bottom: 16px; z-index: 8; background: #fff; box-shadow: 0 4px 18px rgba(30, 19, 37, .18); }
#io-privacy .io-privacy__notice:not([hidden]) ~ .io-privacy__open,
#io-privacy .io-privacy__settings:not([hidden]) ~ .io-privacy__open { display: none; }
@media(max-width: 600px) {
  #io-privacy .io-privacy__notice, #io-privacy .io-privacy__settings { bottom: 72px; width: calc(100% - 20px); max-height: calc(100vh - 92px); padding: 16px; }
  #io-privacy .io-privacy__actions button { width: 100%; }
  #io-privacy .io-privacy__open { right: 10px; bottom: 72px; }
}
