/* Marketing and analytics consent */
.kazua-consent-banner {
  position: fixed;
  z-index: 10050;
  right: 24px;
  bottom: 24px;
  width: min(420px, calc(100vw - 32px));
  padding: 18px;
  box-sizing: border-box;
  background: rgba(52, 52, 49, .96);
  color: #fff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .22);
}
.kazua-consent-banner p { margin: 0 0 14px; font-size: 14px; line-height: 1.6; }
.kazua-consent-banner > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.kazua-consent-banner a { margin-right: auto; color: #d7ff93; font-size: 12px; font-weight: 800; }
.kazua-consent-banner button { border: 1px solid #fff; background: transparent; color: #fff; padding: 9px 12px; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.kazua-consent-banner button[data-consent-allow] { border-color: #d7ff93; background: #d7ff93; color: #343431; }
@media (max-width: 560px) {
  .kazua-consent-banner { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
  .kazua-consent-banner a { width: 100%; margin: 0 0 4px; }
  .kazua-consent-banner button { flex: 1; }
}
body.has-kazua-consent-banner { padding-bottom: 180px; }
body.has-kazua-consent-banner .kakao-floating-dock {
  bottom: calc(190px + env(safe-area-inset-bottom));
}
@media (max-width: 560px) {
  body.has-kazua-consent-banner { padding-bottom: 210px; }
  body.has-kazua-consent-banner .kakao-floating-dock {
    bottom: calc(220px + env(safe-area-inset-bottom));
  }
}

.kazua-consent-banner { font-family: inherit; border-radius: 12px; max-height: calc(100dvh - 32px); overflow-y: auto; }
.kazua-consent-banner :focus-visible { outline: 3px solid #d7ff93; outline-offset: 3px; }
.kazua-consent-banner button { min-height: 44px; border-radius: 6px; }
.kazua-consent-banner a { padding-block: 8px; }
body.has-kazua-consent-banner .bta-launcher { bottom: calc(230px + env(safe-area-inset-bottom)); }
