/**
 * Lumenare Search Block - Shared Styles (Editor + Frontend)
 *
 * These styles are loaded in both the editor and on the frontend.
 *
 * @package LumenareSearch
 */

.lumenare-search-block {
	// Container
	display: block;
	max-width: 100%;

	// Alignment support
	&.alignleft {
		float: left;
		margin-right: 1em;
	}

	&.alignright {
		float: right;
		margin-left: 1em;
	}

	&.aligncenter {
		margin-left: auto;
		margin-right: auto;
	}

	&.alignwide,
	&.alignfull {
		width: 100%;
	}
}

.lumenare-search-filters-block {
	display: block;
	max-width: 100%;
}

.lumenare-ask-site {
	display: grid;
	gap: 0.75rem;
	max-width: 100%;
}

.lumenare-ask-site__form {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lumenare-ask-site__input {
	flex: 1 1 16rem;
	min-width: 0;
}

.lumenare-ask-site__button,
.lumenare-ask-site__submit {
	flex: 0 0 auto;
}

.lumenare-ask-site__result,
.lumenare-ask-site__answer,
.lumenare-ask-site__sources {
	display: grid;
	gap: 0.5rem;
}

.lumenare-ask-site__answer-heading,
.lumenare-ask-site__sources-heading {
	margin: 0;
}

.lumenare-ask-site__answer-text,
.lumenare-ask-site__message,
.lumenare-ask-site__notice,
.lumenare-ask-site__source-snippet {
	margin: 0;
}

.lumenare-ask-site__source-list {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.lumenare-ask-site__source {
	display: grid;
	gap: 0.25rem;
}

.lumenare-ask-site__source-link,
.lumenare-ask-site__source-title,
.lumenare-ask-site__source-snippet {
	overflow-wrap: anywhere;
}

.lumenare-search-terms {
	display: grid;
	gap: 0.75rem;
	max-width: 100%;
}

.lumenare-search-terms__title {
	margin: 0;
}

.lumenare-search-terms__list {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.lumenare-search-terms__item {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: space-between;
	min-width: 0;
}

.lumenare-search-terms__link {
	overflow-wrap: anywhere;
}

.lumenare-search-terms__count,
.lumenare-search-terms__date {
	flex: 0 0 auto;
	font-size: 0.875em;
	opacity: 0.72;
}

.lumenare-search-terms__empty {
	margin: 0;
	opacity: 0.72;
}

.lumenare-search-terms--chips .lumenare-search-terms__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lumenare-search-terms--chips .lumenare-search-terms__item {
	display: inline-flex;
	justify-content: flex-start;
}

// Variation: Icon Only (Expandable)
.lumenare-search-block--icon-only {
	.lumenare-search-wrapper {
		display: inline-block;
	}

	.lumenare-search-form--preview {
		display: flex;
		align-items: center;
	}

	.lumenare-search-icon--toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 1px solid currentColor;
		border-radius: 50%;
		background: transparent;
		color: inherit;
		cursor: pointer;
		transition: background-color 0.2s ease, color 0.2s ease;

		&:hover,
		&:focus {
			background: currentColor;

			svg {
				color: #fff;
			}
		}
	}
}

// Variation: Outside button
.lumenare-search-block--outside {
	.lumenare-search-form {
		display: flex;
		gap: 0.5em;
	}

	.lumenare-search-input-wrapper {
		flex: 1;
	}

	.lumenare-search-button--outside {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0.5em 1em;
		border: 1px solid currentColor;
		border-radius: 4px;
		background: currentColor;
		cursor: pointer;
		transition: opacity 0.2s ease;

		svg {
			color: #fff;
		}

		&:hover,
		&:focus {
			opacity: 0.8;
		}
	}
}

// Compact variation
.lumenare-search-block--none {
	.lumenare-search-input {
		padding-right: 1em;
	}
}
