/* Search results */
.ggn-search .ggn-search__heading {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--card);
	justify-content: center;
	text-align: center;
}

.ggn-search .ggn-search__heading h1 {
	margin: 0;
}

.ggn-search .ggn-search__count {
	color: var(--wp--preset--color--muted);
	margin: 0;
}

.ggn-search .ggn-search__grid {
	width: 100%;
}

.ggn-search .ggn-search__no-results {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--content-size);
	padding-bottom: var(--wp--preset--spacing--section);
	padding-top: var(--wp--preset--spacing--section);
}

.ggn-search .ggn-search__no-results-dynamic > .ggn-search__no-results {
	text-align: center;
}

.ggn-search .ggn-search__recent-section {
	margin-top: var(--wp--preset--spacing--card-lg);
}

.ggn-search .ggn-search__recent-section[hidden] {
	display: none;
}

.ggn-search .ggn-search__recent-header,
.ggn-search-overlay .ggn-search-overlay__recent-header {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--card);
	justify-content: space-between;
}

.ggn-search .ggn-search__recent-header h3,
.ggn-search-overlay .ggn-search-overlay__recent-header h3 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	margin: 0;
}

.ggn-search .ggn-search__recent,
.ggn-search-overlay .ggn-search-overlay__recent {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--card);
	margin-top: var(--wp--preset--spacing--card);
}

.ggn-search .ggn-search__recent .ggn-search-overlay__chip {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: var(--wp--custom--control--size);
	min-width: 0;
	overflow-wrap: anywhere;
	padding-left: var(--wp--preset--spacing--card);
	padding-right: var(--wp--preset--spacing--card);
	text-decoration: none;
}

.ggn-search .ggn-search__recent-clear,
.ggn-search-overlay .ggn-search-overlay__recent-clear {
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--accent);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body);
	min-height: var(--wp--custom--control--size);
	padding: 0 var(--wp--preset--spacing--card);
}

.ggn-search .ggn-search__request {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	display: grid;
	gap: var(--wp--preset--spacing--card);
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--wp--preset--spacing--card-lg);
	max-width: var(--wp--style--global--content-size);
	padding: var(--wp--preset--spacing--card-lg);
	text-align: center;
}

.ggn-search .ggn-search__request h3,
.ggn-search .ggn-search__request p {
	margin: 0;
}

.ggn-search .ggn-search__request .wp-block-buttons {
	justify-content: center;
}

/* Mobile search overlay */
.ggn-search-overlay {
	background-color: var(--wp--preset--color--bg);
	bottom: 0;
	color: var(--wp--preset--color--text);
	display: none;
	left: 0;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
}

.ggn-search-overlay.is-open {
	display: block;
}

.ggn-search-overlay .ggn-search-overlay__content {
	align-content: start;
	display: grid;
	gap: var(--wp--preset--spacing--card-lg);
	margin: 0 auto;
	max-width: var(--wp--style--global--wide-size);
	min-height: 100%;
	padding: calc(env(safe-area-inset-top) + var(--wp--preset--spacing--gutter)) var(--wp--preset--spacing--gutter) var(--wp--preset--spacing--gutter);
}

.ggn-search-overlay .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px /* spacing-ok: visually hidden search label offset */;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.ggn-search-overlay .ggn-search-overlay__form {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--card);
}

.ggn-search-overlay .ggn-search-overlay__field {
	background-color: var(--wp--preset--color--surface-2);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text);
	box-sizing: border-box;
	flex: 1 1 auto;
	font-family: var(--wp--preset--font-family--body);
	height: var(--wp--custom--control--size);
	min-width: 0;
	padding-left: var(--wp--preset--spacing--card);
	padding-right: var(--wp--preset--spacing--card);
}

.ggn-search-overlay .ggn-search-overlay__field:focus {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 2px var(--wp--preset--color--accent);
	outline: 0;
}

.ggn-search-overlay .ggn-search-overlay__cancel {
	background-color: transparent;
	border: 0;
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	min-height: var(--wp--custom--control--size);
	padding-left: var(--wp--preset--spacing--card);
	padding-right: var(--wp--preset--spacing--card);
}

.ggn-search-overlay .ggn-search-overlay__recent {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--card);
}

.ggn-search-overlay .ggn-search-overlay__chip {
	align-items: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	display: inline-flex;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
	min-height: var(--wp--custom--control--size);
	padding-left: var(--wp--preset--spacing--card);
	padding-right: var(--wp--preset--spacing--card);
	text-decoration: none;
}

.ggn-search-overlay .ggn-search-overlay__results {
	display: grid;
	gap: var(--wp--preset--spacing--card-lg);
}

.ggn-search-overlay .ggn-search-overlay__group {
	display: grid;
	gap: var(--wp--preset--spacing--card);
}

.ggn-search-overlay .ggn-search-overlay__group-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	margin: 0;
}

.ggn-search-overlay .ggn-search-overlay__result {
	align-items: center;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text);
	display: flex;
	gap: var(--wp--preset--spacing--card);
	justify-content: space-between;
	min-height: var(--wp--custom--control--size);
	padding: var(--wp--preset--spacing--card);
	text-decoration: none;
}

.ggn-search-overlay .ggn-search-overlay__result-price {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	white-space: nowrap;
}

.ggn-search-overlay .ggn-search-overlay__see-all {
	align-items: center;
	color: var(--wp--preset--color--accent);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	min-height: var(--wp--custom--control--size);
}

.ggn-search-overlay .ggn-search-overlay__empty,
.ggn-search-overlay .ggn-search-overlay__status {
	color: var(--wp--preset--color--muted);
	margin: 0;
}

@media (min-width: 782px) {
	.ggn-search-overlay {
		display: none !important;
	}
}

/* Desktop search panel */
@media (min-width: 782px) {
	.ggn-search-panel {
		position: fixed;
		inset: 0;
		z-index: 1000;
	}

	.ggn-search-panel[hidden] { display: none; }
	.ggn-search-panel.is-open { display: block; }
	.ggn-search-panel::before {
		position: absolute;
		inset: 0;
		background: color-mix(in srgb, var(--wp--preset--color--bg) 82%, transparent);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		content: "";
		opacity: 0;
		transition: opacity 180ms ease;
	}
	.ggn-search-panel.is-visible::before { opacity: 1; }
	.ggn-search-panel__panel {
		position: relative;
		width: min(760px, calc(100% - var(--wp--preset--spacing--40)));
		max-height: 80vh;
		margin: 10vh auto 0;
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--line);
		border-radius: var(--wp--custom--radius--card);
		box-shadow: 0 24px 80px rgb(0 0 0 / 45%);
		display: flex;
		flex-direction: column;
		overflow: hidden;
		opacity: 0;
		transform: translateY(-12px) scale(.98);
		transition: transform 200ms ease, opacity 200ms ease;
	}
	.ggn-search-panel.is-visible .ggn-search-panel__panel { opacity: 1; transform: none; }
	.ggn-search-panel__bar {
		align-items: center;
		border-bottom: 1px solid var(--wp--preset--color--line);
		display: flex;
		gap: var(--wp--preset--spacing--20);
		padding: 0 var(--wp--preset--spacing--30);
	}
	.ggn-search-panel__icon { color: var(--wp--preset--color--muted); fill: none; flex: none; height: 22px; stroke: currentColor; stroke-width: 2; width: 22px; }
	.ggn-search-panel__field,
	.ggn-search-panel .ggn-search-panel__field:focus {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: var(--wp--preset--color--text);
		flex: 1;
		font-family: var(--wp--preset--font-family--heading);
		font-size: 22px;
		font-weight: 600;
		min-height: 72px;
		min-width: 0;
		padding: 0 !important;
	}
	.ggn-search-panel__field::-webkit-search-cancel-button {
		appearance: none;
		display: none;
	}
	.ggn-search-panel__field::placeholder { color: var(--wp--preset--color--muted); }
	.ggn-search-panel__bar:focus-within { box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent); }
	.ggn-search-panel__esc {
		background: var(--wp--preset--color--surface-2);
		border: 1px solid var(--wp--preset--color--line);
		border-radius: var(--wp--custom--radius--control);
		color: var(--wp--preset--color--muted);
		cursor: pointer;
		font-family: var(--wp--preset--font-family--heading);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 600;
		min-height: var(--wp--preset--spacing--40);
		padding: 0 var(--wp--preset--spacing--10);
	}
	.ggn-search-panel__body { display: grid; gap: var(--wp--preset--spacing--30); overflow-y: auto; padding: var(--wp--preset--spacing--30); }
	.ggn-search-panel__label { color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--small); font-weight: 600; letter-spacing: .08em; margin: 0 0 var(--wp--preset--spacing--10); text-transform: uppercase; }
	.ggn-search-panel__chips { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); }
	.ggn-search-panel__chip { align-items: center; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--pill); color: var(--wp--preset--color--text); display: inline-flex; min-height: var(--wp--custom--control--size); overflow-wrap: anywhere; padding: 0 var(--wp--preset--spacing--20); text-decoration: none; }
	.ggn-search-panel__cats { display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ggn-search-panel__cat { background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--control); color: var(--wp--preset--color--text); display: grid; gap: var(--wp--preset--spacing--10); padding: var(--wp--preset--spacing--20); text-decoration: none; }
	.ggn-search-panel__cat strong { font-family: var(--wp--preset--font-family--heading); }
	.ggn-search-panel__cat span,.ggn-search-panel__meta,.ggn-search-panel__status { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--meta); }
	.ggn-search-panel__list { display: grid; gap: var(--wp--preset--spacing--10); }
	.ggn-search-panel__item { align-items: center; border-radius: var(--wp--custom--radius--control); color: var(--wp--preset--color--text); display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: 48px minmax(0, 1fr) auto; padding: var(--wp--preset--spacing--10); text-decoration: none; }
	.ggn-search-panel__item.is-active,.ggn-search-panel__item:hover,.ggn-search-panel__cat:hover,.ggn-search-panel__chip:hover { background: var(--wp--preset--color--accent-soft); }
	.ggn-search-panel__thumb { background: #fff; border-radius: var(--wp--custom--radius--control); height: 48px; object-fit: contain; width: 48px; }
	.ggn-search-panel__thumb--guide { align-items: center; display: flex; font-size: 20px; justify-content: center; }
	.ggn-search-panel__name { display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 600; }
	.ggn-search-panel__name mark { background: transparent; color: var(--wp--preset--color--accent); }
	.ggn-search-panel__meta { display: block; }
	.ggn-search-panel__price { font-family: var(--wp--preset--font-family--heading); font-weight: 700; white-space: nowrap; }
	.ggn-search-panel__status { margin: 0; }
	.ggn-search-panel__foot { align-items: center; border-top: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--muted); display: flex; font-size: var(--wp--preset--font-size--small); gap: var(--wp--preset--spacing--20); justify-content: space-between; padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); }
	.ggn-search-panel__keys { display: flex; gap: var(--wp--preset--spacing--20); }
	.ggn-search-panel__keys kbd { background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--control); margin-right: var(--wp--preset--spacing--10); padding: 0 var(--wp--preset--spacing--10); }
	.ggn-search-panel__all { color: var(--wp--preset--color--accent); font-weight: 600; text-decoration: none; }
	.ggn-search-panel__hint { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--control); color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--small); padding: 0 var(--wp--preset--spacing--10); pointer-events: none; position: absolute; right: calc(var(--wp--custom--control--size) + var(--wp--preset--spacing--10)); top: 50%; transform: translateY(-50%); }
	.ggn-header__search--desktop .wp-block-search__inside-wrapper { position: relative; }
	.ggn-header__search--desktop .wp-block-search__inside-wrapper:has(.wp-block-search__input:focus) .ggn-search-panel__hint,
	.ggn-header__search--desktop .wp-block-search__inside-wrapper:has(.wp-block-search__input:not(:placeholder-shown)) .ggn-search-panel__hint { display: none; }
	.ggn-header__search--desktop .wp-block-search__input { cursor: pointer; }
}

@media (prefers-reduced-motion: reduce) {
	.ggn-search-panel::before,.ggn-search-panel__panel { transition: none !important; }
}

@media (max-width: 781px) {
	.ggn-search .ggn-search__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
	}

	.ggn-search-overlay .ggn-search-overlay__field,
	.ggn-search .wp-block-search__input {
		font-size: 16px;
	}

}
