.ksw-gallery-social-groups,
.ksw-gallery-social-source-member {
	--ksw-gallery-social-group-color: var(--bs-primary);
}

.ksw-gallery-social-color-primary { --ksw-gallery-social-group-color: var(--bs-primary); }
.ksw-gallery-social-color-success { --ksw-gallery-social-group-color: var(--bs-success); }
.ksw-gallery-social-color-info { --ksw-gallery-social-group-color: var(--bs-info); }
.ksw-gallery-social-color-warning { --ksw-gallery-social-group-color: var(--bs-warning); }
.ksw-gallery-social-color-danger { --ksw-gallery-social-group-color: var(--bs-danger); }
.ksw-gallery-social-color-secondary { --ksw-gallery-social-group-color: var(--bs-secondary); }
.ksw-gallery-social-color-light { --ksw-gallery-social-group-color: var(--bs-gray-400, #ced4da); }
.ksw-gallery-social-color-dark { --ksw-gallery-social-group-color: var(--bs-dark); }

.ksw-gallery-social-color-light [data-gallery-social-group-number],
.ksw-gallery-social-source-label.bg-light {
	border: 1px solid var(--bs-gray-500, #adb5bd);
}

.ksw-gallery-social-group {
	border-left-width: .35rem !important;
	border-left-color: var(--ksw-gallery-social-group-color) !important;
}

.ksw-gallery-social-group-list {
	--bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .2);
}

.ksw-gallery-social-group-row {
	min-height: 3.25rem;
}

.ksw-gallery-social-group-row .accordion-button {
	min-width: 0;
}

.ksw-gallery-social-group-row .accordion-button:not(.collapsed) {
	color: var(--bs-primary);
}

.ksw-gallery-social-group-handle {
	cursor: grab;
	touch-action: none;
}

.ksw-gallery-social-group-handle:active {
	cursor: grabbing;
}

.ksw-gallery-social-group-handle {
	width: 3rem;
	color: var(--bs-secondary-color);
}

.ksw-gallery-social-color-select {
	min-width: 9rem;
}

.ksw-gallery-social-selected-list {
	scrollbar-width: thin;
	scroll-snap-type: x proximity;
	min-height: 4.5rem;
}

.ksw-gallery-social-selected-list.is-empty {
	align-items: center;
	justify-content: center;
	border: 1px dashed var(--bs-border-color);
	border-radius: var(--bs-border-radius);
}

.ksw-gallery-social-selected-list.is-empty::before {
	content: "Drop a photo here or choose photos";
	padding: .75rem;
	color: var(--bs-secondary-color);
	pointer-events: none;
}

.ksw-gallery-social-selected-photo {
	width: 9rem;
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	background: var(--bs-body-bg);
	overflow: hidden;
	scroll-snap-align: start;
	cursor: grab;
	touch-action: pan-x pan-y;
	user-select: none;
}

.ksw-gallery-social-selected-photo:active {
	cursor: grabbing;
}

.ksw-gallery-social-selected-photo:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25);
}

.ksw-gallery-social-selected-image,
.ksw-gallery-social-selected-placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.ksw-gallery-social-photo-remove-badge {
	z-index: 4;
	min-width: 1.75rem;
	min-height: 1.75rem;
	font-size: 1rem;
	cursor: pointer;
	touch-action: manipulation;
}

.ksw-gallery-social-photo-remove-badge:focus-visible {
	box-shadow: 0 0 0 .2rem rgba(var(--bs-danger-rgb), .35);
}

.ksw-gallery-social-groups.is-photo-dragging .ksw-gallery-social-photo-remove-badge {
	pointer-events: none;
}

.ksw-gallery-social-groups.is-photo-dragging .ksw-gallery-social-selected-list {
	scroll-snap-type: none;
}

.ksw-gallery-social-selected-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ksw-gallery-social-photo-choice {
	border: 2px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	background: var(--bs-body-bg);
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease, opacity .15s ease;
}

.ksw-gallery-social-photo-choice:hover:not(:disabled),
.ksw-gallery-social-photo-choice:focus-visible {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .2);
	transform: translateY(-1px);
}

.ksw-gallery-social-photo-choice.is-selected {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25);
}

.ksw-gallery-social-photo-choice.is-unavailable {
	opacity: .55;
}

.ksw-gallery-social-photo-choice-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--bs-secondary-bg);
	overflow: hidden;
}

.ksw-gallery-social-photo-choice-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ksw-gallery-social-photo-choice [data-gallery-social-photo-assignment] {
	max-width: calc(100% - 1rem);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ksw-gallery-social-search-wrap {
	z-index: 3;
}

.ksw-gallery-social-sortable-ghost {
	opacity: .35;
}

.ksw-photoform .grid-item.ksw-gallery-social-source-member::after,
.ksw-photoform .fav-preview-item.ksw-gallery-social-source-member::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 9;
	border: 3px solid var(--ksw-gallery-social-group-color);
	border-radius: inherit;
	box-sizing: border-box;
	pointer-events: none;
}

.ksw-gallery-social-source-label {
	position: absolute;
	right: .5rem;
	bottom: 2.25rem;
	z-index: 11;
	max-width: calc(100% - 1rem);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
}

.ksw-photoform .fav-preview-item > .ksw-gallery-social-source-label {
	bottom: .5rem;
}

@media (max-width: 575.98px) {
	.ksw-gallery-social-selected-photo {
		width: 7.5rem;
	}

	.ksw-gallery-social-color-select {
		width: 100%;
	}
}
