// @use '../base//common.scss';
@use '../utility/functions' as *;

.edbi-add-icon {
	font-size: 16px;
}

.edbi-shortcode-header {
	background-color: var(--edbi-background-color);
	padding: 18px 24px !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: sticky;
	top: 0;
	z-index: 99;
	border-bottom: 1px solid var(--edbi-accent-color);

	.edbi-header__left {
		display: flex;
		align-items: center;
		gap: 14px;

		.edbi-header__left__img__container {
			background: var(--edbi-primary-color);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 36px;
			height: 36px;

			.edbi-header__left__img {
				width: 20px;
				height: 20px;
			}
		}

		.edbi-header__left__title {
			font-size: 22px;
			font-weight: 600;
			display: flex;
			align-items: center;
			gap: 8px;

			.edbi-version {
				font-size: 12px;
				font-weight: 500;
				background: var(--edbi-secondary-color);
				color: var(--edbi-primary-color);
				padding: 5px 14px;
				border-radius: 50px;
			}
		}
	}

	.edbi-header__right {
		display: flex;
		align-items: center;
		gap: 16px;
		.edbi-header__left__form {
			border-radius: 10px;
			display: flex;
			align-items: center;
			gap: 8px;
			border: 1px solid var(--edbi-accent-color);

			.edbi-edit-icon {
				font-size: 30px;
				margin-left: 10px;
				padding-right: 10px;
				border-right: 1px solid var(--edbi-accent-color);
			}

			input {
				border: none;
				padding: 6px 10px;
				width: 280px;
				background: transparent;

				&:focus {
					box-shadow: none;
				}
			}
		}
	}
}

.edbi-shortcodes {
	padding: 24px !important;

	.edbi-shortcodes__header {
		padding-bottom: 20px;
		display: flex;
		justify-content: space-between;
		align-items: center;

		.edbi-shortcodes__header__title {
			font-size: 20px;
			font-weight: 600;
			display: flex;
			align-items: center;
			gap: 8px;

			span {
				font-size: 14px;
				font-weight: 500;
			}
		}
		.edbi-shortcodes__header__actions {
			display: flex;
			align-items: center;
			gap: 20px;

			h3 {
				font-size: 14px;
				font-weight: 400;
				opacity: 0.9;
			}
			.edbi-shortcodes__header__actions__btn {
				display: flex;
				align-items: center;
				gap: 12px;
				border: 1px solid var(--edbi-accent-color);
				background: var(--edbi-background-color);
				padding: 8px 12px;
				border-radius: 6px;
				cursor: pointer;
				font-size: 14px;
				min-width: 80px;
				justify-content: space-between;
			}

			.edbi-shortcodes__header__actions__dropdown {
				background: var(--edbi-background-color);
				padding: 6px;
				border: 1px solid var(--edbi-accent-color);
				border-radius: 6px;
				font-size: 14px;
				position: absolute;
				margin-top: 4px;
				width: 100%;
				z-index: 10;
				.edbi-shortcodes__header__actions__dropdown__item {
					cursor: pointer;
					padding: 4px 12px;
					border-radius: 4px;
					&:hover {
						color: var(--edbi-primary-color);
						background: var(--edbi-secondary-color);
					}
				}
			}

			.edbi-shortcodes__header__actions__form {
				padding: 6px 10px;
				border: 1px solid var(--edbi-accent-color);
				border-radius: 6px;
				font-size: 14px;
				display: flex;
				align-items: center;
				gap: 10px;
				background: var(--edbi-background-color);

				input {
					border: none;
					border-right: 1px solid var(--edbi-accent-color);
					width: 220px;
					&:focus {
						box-shadow: none;
					}
				}
				.edbi-shortcodes__header__actions__form__button {
					background: transparent;
					border: none;
					cursor: pointer;
					display: flex;
					align-items: center;

					.edbi-search__icon {
						font-size: 20px;
						opacity: 0.6;
					}
				}
			}
		}
	}

	.edbi-shortcodes__container {
		width: 100%;
		border-radius: 10px;
		overflow: auto;

		.edbi-shortcodes__table {
			color: var(--edbi-text-color);
			width: 100%;
			background: var(--edbi-background-color);
			border-radius: 10px;
			overflow: hidden;

			.edbi-shortcodes__table__head {
				background: #f9fafb;

				th {
					text-align: left;
					font-size: 15px;
					font-weight: 500;
					padding: 20px 24px;
				}
				.edbi-sort__shortcode {
					display: flex;
					align-items: center;
					font-weight: 500;
					gap: 6px;
					.edbi-sort__icon {
						color: #adb1be;
						font-size: 18px;
					}
				}
			}
			.edbi-shortcodes__table__head__checkbox {
				display: flex;
				align-items: center;
				gap: 20px;
			}
			.edbi-shortcodes__table__empty {
				text-align: center;
				padding: 20px;
				font-style: italic;
				height: 500px;
			}
			.edbi-shortcodes__table__body {
				.edbi-shortcodes__table__row {
					border-top: 1px solid var(--edbi-accent-color);
					td {
						padding: 20px 24px;

						h4 {
							font-size: 14px;
							font-weight: 400;
						}
					}
				}
			}
			.edbi-shortcodes__table__row__shortcode {
				background: #5c637e1a;
				padding: 8px 14px;
				width: max-content;
				border-radius: 50px;
				display: flex;
				align-items: center;
				gap: 8px;
				cursor: pointer;
			}
			.edbi-shortcodes__table__row__location {
				h4 {
					background: #5c637e1a;
					display: flex;
					justify-content: center;
					align-items: center;
					width: 30px;
					height: 30px;
					border-radius: 50%;
				}
			}
			.edbi-shortcodes__table__row__status {
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 5px 12px;
				border-radius: 50px;
				width: max-content;

				.edbi-shortcodes__table__row__status__indicator {
					width: 8px;
					height: 8px;
					border-radius: 50%;
					margin-right: 8px;
				}
				.edbi-shortcodes__table__row__status__text {
					font-size: 12px !important;
					font-weight: 500 !important;
				}
			}

			.edbi-shortcodes__table__row__actions {
				display: flex;
				align-items: center;
				gap: 14px;
				.edbi-shortcodes__table__row__actions__button {
					padding: 8px;
					border: 1px solid;
					border-radius: 10px;
					display: flex;
					justify-content: center;
					align-items: center;
					cursor: pointer;
					font-size: 18px;
				}
				.edbi-edit {
					border-color: #f59e0b33;
					background: #f59e0b1a;
					color: #f59e0b;
				}
				.edbi-delete {
					border-color: #f30d5533;
					background: #f30d551a;
					color: #f30d55;
				}
				.edbi-duplicate {
					border-color: #5820e533;
					background: #5820e51a;
					color: #5820e5;
				}
			}
			.edbi-shortcodes__table__row__type {
				display: flex;
				align-items: center;
				gap: 8px;

				.edbi-shortcodes__table__row__type__icon__wrapper {
					width: 40px;
					height: 40px;
					border-radius: 50%;
					display: flex;
					justify-content: center;
					align-items: center;

					img {
						width: 24px;
						height: 24px;
					}
				}
			}
		}
	}

	.edbi-shortcodes__footer {
		display: flex;
		justify-content: end;
		padding-top: 20px;
		.edbi-shortcodes__pagination {
			background: var(--edbi-background-color);
			padding: 12px;
			border-radius: 6px;
			display: flex;
			align-items: center;
			gap: 12px;
			font-size: 14px;

			.edbi-pagination__button {
				background: #f3f4f6;
				padding: 6px 10px;
				display: flex;
				border-radius: 6px;
				align-items: center;
				gap: 6px;
				cursor: pointer;
				color: #637381;

				&:hover {
					background: var(--edbi-secondary-color);
					color: var(--edbi-primary-color);
				}
			}
			.edbi-pagination__button:disabled {
				opacity: 0.5;
				background: transparent;
				cursor: not-allowed;
				color: #637381;
			}
			.edbi-pagination__button--active {
				background: var(--edbi-primary-color);
				color: white;
				pointer-events: none;
				padding: 4px 12px;
				border-radius: 8px;
			}
			.edbi-pagination__button--inactive {
				padding: 4px 12px;
				border-radius: 8px;
				background: transparent;
				color: #637381;

				&:hover {
					background: var(--edbi-secondary-color);
					color: var(--edbi-primary-color);
				}
			}
		}
	}
}

.edbi-page__shortcode__sidebar {
	width: 260px;
	border-right: 1px solid var(--edbi-accent-color);
	background: var(--edbi-background-color);
	min-height: 100vh;
	position: sticky;
	top: 0;
	z-index: 3;
	// padding: 26px 24px;

	.edbi-page__shortcode__sidebar__item {
		padding: 12px 18px;
		display: flex;
		align-items: center;
		border-radius: 16px 0px 0px 16px;
		gap: 12px;
		cursor: pointer;
		margin-bottom: 10px;
		color: var(--edbi-text-color);
		.edbi-page__shortcode__sidebar__icon {
			font-size: 18px;
			margin-top: 2px;
		}

		div {
			font-size: 16px;
			font-weight: 500;
		}
	}
	.edbi-page__shortcode__sidebar__item--active {
		background: var(--edbi-secondary-color);
		color: var(--edbi-primary-color);
	}
}

.edbi-shortcode-config {
	display: flex;

	.edbi-page__shortcode__sidebar {
		/* display: none; */
	}

	.edbi-page__content {
		flex-grow: 1;
		width: 100%;
		.edbi-info-boxes {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 24px;
			width: 100%;
			padding: 8px 20px 20px 20px;
			align-items: stretch;

			.edbi-info-box__content__wrapper {
				padding-top: 32px;
				overflow: hidden;
			}
			/* Info Box Styling */

			.edbi-info-box {
				background: var(--edbi-background-color);
				border: none;
				border-radius: 8px;
				padding: 0px 24px 40px 24px;
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 12px;
				text-align: center;
				cursor: pointer;
				box-shadow: none;
				transition: none;
				backdrop-filter: blur(10px);

				.edbi-info-box__icon__wrapper {
					margin-bottom: 20px;
				}

				.edbi-info-box__content {
					h3 {
						font-size: 16px;
						font-weight: 600;
						margin-bottom: 10px;
						line-height: 24px;
					}
					p {
						font-size: 14px;
						line-height: 20px;
						font-weight: 400;
					}
				}
				.ebdi-info-box {
					position: relative;

					.edbi-info-box__icon__wrapper {
						border-radius: 50%;
						width: 60px;
						height: 60px;
						display: flex;
						justify-content: center;
						align-items: center;
						position: relative;
						z-index: 2;

						.edbi-info-box__icon__image {
							width: 34px;
							height: 34px;
						}
					}

					.edbi-info-box__icon__bar {
						position: absolute;
						bottom: 0;
						left: 0;
						width: 100%;
						border-bottom-left-radius: 50px;
						border-bottom-right-radius: 50px;
						height: 100px;

						z-index: 1;
					}
				}
			}

			.edbi-info-box__premium {
				position: absolute;
				top: 16px;
				right: -8px;

				.edbi-info-box__premium__icon__wrapper {
					background: #f59e0b;
					padding: 6px 10px;
					color: var(--edbi-background-color);
					display: flex;
					justify-content: center;
					align-items: center;
					gap: 6px;
					border-top-left-radius: 5px;
					border-bottom-left-radius: 5px;

					.edbi-info-box__premium__icon {
						font-size: 16px;
					}

					.edbi-info-box__premium__label {
						font-size: 12px;
						font-weight: 500;
					}
				}
				.edbi-info-box__premium__icon__background {
					width: 10px;
					height: 10px;
					background: #c27a00;
					position: absolute;
					right: -2px;
					bottom: -8px;
					z-index: -1;

					.edbi-info-box__premium__icon__background__inner {
						width: 14px;
						height: 14px;
						background: #f0f0f1;
						transform: rotate(45deg);
						position: absolute;
						top: 3px;
						left: 3px;
						z-index: -2;
					}

					&::after {
						content: '';
						width: 2px;
						height: 10px;
						background: #f0f0f1;
						position: absolute;
						top: 0px;
						right: 0px;
					}
				}
			}
		}
	}

	.edbi-shortcode-config__advanced {
		padding: 10px 24px 24px 24px;

		.edbi-shortcode-config__advanced__header {
			h3 {
				font-size: 22px;
				font-weight: 600;
				margin-bottom: 20px !important;
			}
		}
		.edbi-shortcode-config__advanced__input__container {
			background: var(--edbi-background-color);
			padding: 20px;
			border-radius: 8px;
			h3 {
				font-size: 16px;
				font-weight: 500;
				color: var(--edbi-text-color);
			}
		}
	}
	.edbi-shortcode-builder__container {
		background: var(--edbi-background-color);
		border-radius: 8px;
		margin-top: 24px;
		padding: 20px;

		h3 {
			font-size: 16px;
			font-weight: 500;
			color: var(--edbi-text-color);
		}

		.edbi-shortcode-builder__gallery-button-layout,
		.edbi-shortcode-builder__columns-button,
		.edbi-shortcode-builder__aspect-ratio-button,
		.edbi-shortcode-builder__thumbnail-view__buttons,
		.edbi-shortcode-builder__overlay__buttons,
		.edbi-shortcode-builder__permission__buttons {
			border: 1px solid var(--edbi-accent-color);
			border-radius: 8px;
			cursor: pointer;
			overflow: hidden;
			margin-top: 10px;
		}
		.edbi-shortcode-builder__gallery-layout__masonry {
			border-left: 1px solid var(--edbi-accent-color);
			border-right: 1px solid var(--edbi-accent-color);
		}

		.edbi-shortcode-builder__gallery-layout__button,
		.edbi-shortcode-builder__columns-button__button,
		.edbi-shortcode-builder__aspect-ratio-button__button,
		.edbi-shortcode-builder__thumbnail-view__button,
		.edbi-shortcode-builder__overlay__button,
		.edbi-shortcode-builder__permission__button {
			box-shadow: none;
			padding: 22px;
			font-size: 14px;
			font-weight: 500;

			&:hover {
				color: var(--edbi-primary-color);
				background: var(--edbi-secondary-color);
			}
		}

		.edbi-shortcode-builder__gallery-layout__button--active,
		.edbi-shortcode-builder__columns-button__button--active,
		.edbi-shortcode-builder__aspect-ratio-button__button--active,
		.edbi-shortcode-builder__thumbnail-view__button--active,
		.edbi-shortcode-builder__overlay__button--active,
		.edbi-shortcode-builder__permission__button--active {
			background: var(--edbi-primary-color);
			color: var(--edbi-background-color);

			&:hover {
				background: var(--edbi-primary-color);
				color: var(--edbi-background-color);
			}
		}
		.edbi-shortcode-builder__columns-title {
			margin-top: 24px;
		}
	}
	.edbi-shortcode-builder__columns {
		display: flex;
		gap: 12px;
		align-items: center;
		justify-content: space-between;
	}
	.edbi-shortcode-builder__aspect-ratio {
		margin-top: 24px;
	}
	.edbi-right-border {
		border-right: 1px solid var(--edbi-accent-color);
	}

	.edbi-shortcode-builder__navbar {
		background: var(--edbi-background-color);
		margin: 8px 20px 0px 20px;
		border-radius: 8px;

		.edbi-navbar-top {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 16px 20px;
		}
	}
	
}

.edbi-browser::-webkit-scrollbar {
	width: 0px; /* size of scrollbar */
}

.edbi-segmented-slider {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	height: 100%;
	gap: 20px;
}

.edbi-segments {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	width: 100%;
	justify-content: end;
}

.edbi-segment {
	width: 24px;
	height: 40px;
	background: var(--edbi-accent-color);
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.2s;

	&:hover {
		outline: 2px solid var(--edbi-secondary-color);
		background: var(--edbi-secondary-color);
	}
}

.edbi-segment--active {
	background: var(--edbi-primary-color);

	&:hover {
		outline: none;
		background: var(--edbi-primary-color);
	}
}

.edbi-value-box {
	border: 1px solid var(--edbi-accent-color) !important;
	border-radius: 4px;
	font-weight: 500;
	font-size: 14px;
	color: var(--edbi-primary-color) !important;
	text-align: center;
	width: 46px;
	box-shadow: none !important;
	height: 40px;

	-moz-appearance: textfield;

	&::-webkit-outer-spin-button,
	&::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}
}

.edbi-value-box[type='number'] {
	-moz-appearance: textfield;
}

.edbi-shortcode-builder__container {
	background: var(--edbi-background-color);
	padding: 20px;
	border-radius: 8px;
	margin-top: 24px;

	/* Container */
	.edbi-range {
		display: flex;
		flex-direction: column;
		gap: 6px;
	}

	.edbi-range__label {
		font-weight: 500;
		font-size: 16px;
		color: var(--edbi-text-color);
	}

	/* Row: slider + number box */
	.edbi-range__row {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		gap: 12px;
	}

	/* Slider */
	.edbi-range__slider {
		-webkit-appearance: none;
		appearance: none;
		height: 4px;
		border-radius: 999px;
		outline: none;
		transition: background 0.15s ease;
	}

	/* Chrome / Edge / Safari thumb */
	.edbi-range__slider::-webkit-slider-thumb {
		-webkit-appearance: none;
		appearance: none;
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: var(--edbi-primary-color);
		cursor: pointer;
	}
	.edbi-shortcode-builder__settings-fields__item {
		width: 50%;
	}

	.edbi-shortcode-builder__thumbnail-view {
		padding-top: 24px;

		h3 {
			font-size: 16px;
			font-weight: 500;
			color: var(--edbi-text-color);
		}
	}

	.edbi-shortcode-builder__overlay__header {
		display: flex;
		align-items: center;
		gap: 12px;
	}
	.edbi-shortcode-builder__overlay {
		padding-top: 24px;
		h3 {
			font-size: 14px;
		}
	}

	.edbi-shortcode-builder__overlay__settings {
		padding-top: 24px;
		display: flex;
		align-items: center;
		gap: 12px;
	}
}
.components-form-toggle__track {
	background-color: var(--edbi-accent-color) !important; /* default off */
	border-radius: 999px;
	transition: background-color 0.2s ease;
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

/* When checked */
.components-form-toggle.is-checked .components-form-toggle__track {
	background-color: var(--edbi-primary-color) !important; /* active/on color */
}

/* Thumb (circle) */
.components-form-toggle__thumb {
	background: var(--edbi-background-color) !important;
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.components-toggle-control__label {
	font-size: 14px; /* change text size */
	font-weight: 500; /* optional */
}
.css-1dd79d2 {
	margin-bottom: 0px;
}

.edbi-shortcode-filters {
	padding: 10px 24px 24px 24px !important;

	.edbi-shortcode-builder__settings-head {
		margin-bottom: 20px;

		h3 {
			font-size: 22px;
			font-weight: 600;
		}
	}
}

.edbi-shortcode-builder__permission {
	padding: 10px 24px 24px 24px !important;

	.edbi-shortcode-builder__permission-head {
		margin-bottom: 20px;

		h3 {
			font-size: 22px;
			font-weight: 600;
		}
	}
}
.edbi-shortcode-config__advanced__inputs {
	display: flex;
	gap: 20px;
	margin-top: 24px;
}

.edbi-shortcode-config .edbi-extend-wp-core-input {
	width: 50%;
}


.edbi-shortcodes__table__row__type__icon {
	margin-top: 4px;
	svg {
		width: 24px;
		height: 24px;
	}
}
