.acbest-cookie-banner {
  position: fixed;
  z-index: 1001;
  right: 24px;
  bottom: 24px;
  width: min(560px, calc(100% - 32px));
  padding: 20px;
  border: 1px solid #b8c5d7;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .2);
  color: #102d67;
}

.acbest-cookie-banner h2,
.acbest-cookie-dialog h2,
.acbest-cookie-dialog h3 { margin-top: 0; }

.acbest-cookie-banner__actions,
.acbest-cookie-dialog__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.acbest-cookie-banner button,
.acbest-cookie-dialog button,
.acbest-cookie-settings-link {
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid #0c3474;
  border-radius: 6px;
  background: #fff;
  color: #0c3474;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.acbest-cookie-banner__actions button:first-child,
.acbest-cookie-banner__actions button:nth-child(2),
.acbest-cookie-dialog__actions button:nth-child(2),
.acbest-cookie-dialog__actions button:nth-child(3) { background: #0c3474; color: #fff; }

.acbest-cookie-banner button:focus-visible,
.acbest-cookie-dialog button:focus-visible,
.acbest-cookie-settings-link:focus-visible { outline: 3px solid #e7a719; outline-offset: 3px; }

.acbest-cookie-settings-link { min-height: auto; padding: 0; border: 0; background: none; text-align: left; }

.acbest-cookie-dialog { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 16px; }
.acbest-cookie-dialog[hidden] { display: none; }
html.acbest-cookie-dialog-open,
body.acbest-cookie-dialog-open { overflow: hidden; }
.acbest-cookie-dialog__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.acbest-cookie-dialog__panel { position: relative; z-index: 1; width: min(640px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 24px; border-radius: 10px; background: #fff; color: #102d67; }
.acbest-cookie-dialog__close { position: absolute; top: 12px; right: 12px; }
.acbest-cookie-choice { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-top: 1px solid #d7e1ec; }
.acbest-cookie-choice h3 { margin-bottom: 5px; }
.acbest-cookie-choice p { margin: 0; }
.acbest-cookie-choice input { width: 24px; height: 24px; }

@media (max-width: 767px) {
  .acbest-cookie-banner { right: 16px; bottom: 16px; }
  .acbest-cookie-banner__actions,
  .acbest-cookie-dialog__actions { display: grid; grid-template-columns: 1fr; }
  .acbest-cookie-choice { align-items: flex-start; }
  .acbest-cookie-dialog__panel { padding: 20px; }
}
