.p-cascadeselect {
  @apply relative inline-flex cursor-pointer select-none rounded-md border border-surface-300 bg-surface-0 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] transition-colors duration-200 dark:border-surface-700 dark:bg-surface-950;
}

.p-cascadeselect:not(.p-disabled):hover {
  @apply border-surface-400 dark:border-surface-600;
}

.p-cascadeselect:not(.p-disabled).p-focus {
  @apply border-primary;
}

.p-cascadeselect.p-variant-filled {
  @apply bg-surface-50 dark:bg-surface-800;
}

.p-cascadeselect.p-invalid {
  @apply border-red-400 dark:border-red-300;
}

.p-cascadeselect.p-disabled {
  @apply cursor-default bg-surface-200 text-surface-500 opacity-100 dark:bg-surface-700 dark:text-surface-400;
}

.p-cascadeselect-dropdown {
  @apply flex w-10 shrink-0 items-center justify-center rounded-e-md bg-transparent text-surface-500 dark:text-surface-400;
}

.p-cascadeselect-clear-icon {
  @apply absolute end-10 top-1/2 -mt-2 text-surface-500 dark:text-surface-400;
}

.p-cascadeselect-label {
  @apply block w-[1%] flex-auto overflow-hidden overflow-ellipsis whitespace-nowrap border-none bg-transparent px-3 py-2 text-surface-700 outline-none dark:text-surface-0;
}

.p-cascadeselect-label.p-placeholder {
  @apply text-surface-500 dark:text-surface-400;
}

.p-cascadeselect.p-disabled .p-cascadeselect-label {
  @apply text-surface-500 dark:text-surface-400;
}

.p-cascadeselect-label-empty {
  @apply overflow-hidden opacity-0;
}

.p-cascadeselect-fluid {
  @apply flex;
}

.p-cascadeselect-fluid .p-cascadeselect-label {
  @apply w-[1%];
}

.p-cascadeselect-overlay {
  @apply absolute left-0 top-0 rounded-md border border-surface-200 bg-surface-0 text-surface-700 shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)] dark:border-surface-700 dark:bg-surface-900 dark:text-surface-0;
}

.p-cascadeselect .p-cascadeselect-overlay {
  @apply min-w-full;
}

.p-cascadeselect-option-list {
  @apply absolute z-10 hidden min-w-full;
}

.p-cascadeselect-list {
  @apply m-0 flex min-w-full list-none flex-col gap-[2px] p-1;
}

.p-cascadeselect-option {
  @apply cursor-pointer whitespace-nowrap rounded-sm border-none bg-transparent font-normal text-surface-700 transition-colors duration-200 dark:text-surface-0;
}

.p-cascadeselect-option-active {
  @apply overflow-visible;
}

.p-cascadeselect-option-active > .p-cascadeselect-option-content {
  @apply bg-surface-100 text-surface-800 dark:bg-surface-800 dark:text-surface-0;
}

.p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus
  > .p-cascadeselect-option-content {
  @apply bg-surface-100 text-surface-800 dark:bg-surface-800 dark:text-surface-0;
}

.p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus
  .p-cascadeselect-group-icon {
  @apply text-surface-500 dark:text-surface-400;
}

.p-cascadeselect-option-selected .p-cascadeselect-option-content {
  @apply bg-highlight;
}

.p-cascadeselect-option-selected.p-focus {
  @apply bg-highlight-emphasis;
}

.p-cascadeselect-option-active > .p-cascadeselect-option-list {
  @apply start-full top-0 block;
}

.p-cascadeselect-option-content {
  @apply relative flex items-center justify-between overflow-hidden px-3 py-2;
}

.p-cascadeselect-group-icon {
  @apply h-[0.875rem] w-[0.875rem] text-sm text-surface-400 dark:text-surface-500;
}

.p-cascadeselect-group-icon:dir(rtl) {
  @apply rotate-180;
}

.p-cascadeselect-mobile-active .p-cascadeselect-option-content {
  @apply rounded-sm;
}

.p-cascadeselect-mobile-active-active .p-cascadeselect-list {
  @apply start-0 top-full z-10 flex flex-col;
}

.p-cascadeselect-mobile-active
  .p-cascadeselect-list
  > .p-cascadeselect-option
  > .p-cascadeselect-option-content
  .p-cascadeselect-group-icon {
  @apply ms-auto transition-transform duration-200;
}

.p-cascadeselect-mobile-active .p-cascadeselect-list .p-cascadeselect-group-icon {
  @apply rotate-90 transition-transform duration-200;
}

.p-cascadeselect-mobile-active
  .p-cascadeselect-option-active
  > .p-cascadeselect-option-content
  .p-cascadeselect-group-icon {
  @apply -rotate-90;
}

.p-cascadeselect-mobile-active .p-cascadeselect-option-list {
  @apply static border-none ps-4 shadow-none;
}

.p-cascadeselect-sm .p-cascadeselect-label {
  @apply px-[0.625rem] py-[0.375rem] text-sm;
}

.p-cascadeselect-sm .p-cascadeselect-dropdown .p-icon {
  @apply h-[0.875rem] w-[0.875rem] text-sm;
}

.p-cascadeselect-lg .p-cascadeselect-label {
  @apply px-[0.875rem] py-[0.625rem] text-lg;
}

.p-cascadeselect-lg .p-cascadeselect-dropdown .p-icon {
  @apply h-[1.125rem] w-[1.125rem] text-lg;
}
