body {
  overscroll-behavior-y: none;
  -webkit-overflow-scrolling: touch;
}

/* Tagify customizations for DaisyUI compatibility */
.tagify {
  --tags-border-color: oklch(var(--bc) / 0.2);
  --tags-hover-border-color: oklch(var(--bc) / 0.3);
  --tags-focus-border-color: oklch(var(--p));
  --tag-bg: oklch(var(--p) / 0.15);
  --tag-hover: oklch(var(--p) / 0.25);
  --tag-text-color: oklch(var(--bc));
  --tag-pad: 0.25em 0.5em;
  --tag-border-radius: 9999px;
  --input-color: oklch(var(--bc));
  --placeholder-color: oklch(var(--bc) / 0.4);
  --placeholder-color-focus: oklch(var(--bc) / 0.3);
  --tag-remove-btn-bg--hover: oklch(var(--er) / 0.3);
  --tag-remove-btn-color: oklch(var(--bc) / 0.6);
  border-radius: var(--rounded-btn, 0.5rem);
  padding: 0.5rem;
  min-height: 3rem;
  background: oklch(var(--b1));
}

.tagify--focus {
  border-color: var(--tags-focus-border-color);
  box-shadow: 0 0 0 2px oklch(var(--p) / 0.2);
}

.tagify__tag {
  margin: 0.25rem;
  border-radius: 9999px;
  background: var(--tag-bg);
}

.tagify__tag:hover {
  background: var(--tag-hover);
}

.tagify__tag__removeBtn {
  opacity: 0.5;
  transition: opacity 0.15s;
}

.tagify__tag__removeBtn:hover {
  opacity: 1;
}

.tagify__input {
  padding: 0.5rem;
  font-size: 0.875rem;
}

.tagify__input::before {
  font-size: 0.875rem;
}

.tagify__dropdown {
  --tagify-dd-color-primary: oklch(var(--p));
  --tagify-dd-bg-color: oklch(var(--b1));
  --tagify-dd-item-pad: 0.5rem;
  --tagify-dd-text-color: oklch(var(--bc));
  z-index: 9999 !important;
}

.tagify__dropdown__wrapper {
  border: 1px solid oklch(var(--bc) / 0.2);
  border-radius: var(--rounded-btn, 0.5rem);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.tagify__dropdown__item {
  padding: 0.75rem;
  border-radius: 0.375rem;
  margin: 0.25rem;
}

.tagify__dropdown__item--active,
.tagify__dropdown__item:hover {
  background: oklch(var(--b2));
}

.tagify__dropdown__item--selected {
  background: oklch(var(--p) / 0.15);
}

.tagify__tag__avatar-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.25rem;
}
