.advsearch-heading {
	margin-bottom: .6em;
}

.advsearch-panel fieldset {
	border: none;
	padding: 0;
	margin: 0;
}

.advsearch-dl {
	grid-template-columns: 220px 1fr;
	align-items: center;
	gap: 10px 16px;
	margin: .6em 0;
}

@media (max-width: 700px) {
	.advsearch-dl {
		grid-template-columns: 1fr;
	}
	.advsearch-dl > dt {
		margin-bottom: .25em;
	}
}

.advsearch-actions {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-top: .8rem;
}

/* Save panel (collapsible) */
.advsearch-save-panel {
	margin-top: .8rem;
	padding: .8rem;
	border: 1px solid #c7d2df;
	border-radius: 6px;
	box-shadow: 0 1px 0 rgba(0,0,0,.03) inset;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .6rem;
}
.advsearch-save-panel[hidden] { display: none; }

/* Saved tags/chips */
.advsearch-saved-panel {
	margin-top: 1rem;
}

.advsearch-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.advsearch-tag {
	--chip-bg-start: #f4f7fa;
	--chip-bg-end: #eaf1f7;
	--chip-border: #c7d2df;
	--chip-text: #2f3b45;
	--chip-hover: #dfe9f2;
	--chip-danger: #a61b1b;

	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 4px 8px;
	background: linear-gradient(var(--chip-bg-start), var(--chip-bg-end));
	border: 1px solid var(--chip-border);
	border-radius: 999px;
	box-shadow: 0 1px 0 rgba(0,0,0,.04);
	transition: background-color .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.advsearch-tag:hover {
	background: var(--chip-hover);
}

.advsearch-tag:focus-within {
	outline: 2px solid #7aa7c7;
	outline-offset: 2px;
}

.advsearch-tag-link {
	color: var(--chip-text);
	text-decoration: none;
	max-width: 100%;
}

.advsearch-tag-text {
	display: inline-block;
	max-width: 210px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
	font-size: .95rem;
}

.advsearch-tag-delete {
	margin-left: 6px;
}

.advsearch-tag-close {
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 50%;
	line-height: 1;
	font-size: 16px;
	background: transparent;
	color: var(--chip-danger);
	cursor: pointer;
	transition: background-color .15s ease, transform .08s ease;
}

.advsearch-tag-close:hover {
	background: rgba(166, 27, 27, .08);
}

.advsearch-tag-close:active {
	transform: scale(.95);
}

/* USEFUL UTILITIES FROM YOUR SNIPPET */

/* Titles, meta, smalls */
.advsearch-title {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}
.advsearch-meta { color: #777; }
.advsearch-small { color: #ff0000; }
.advsearch-newest {
	margin-left: 6px;
	vertical-align: middle;
}

/* Excerpt area (results page) */
.advsearch-excerpt {
	max-height: 160px;
	overflow: hidden;
	position: relative;
	margin-top: 6px;
}

/* Add fade only if JS flagged overflow */
.advsearch-excerpt.is-overflowing::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 15px;
	background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.9));
	pointer-events: none;
}

/* Hide entirely if empty (defensive) */
.advsearch-excerpt:empty { display: none; }

/* Constrain media */
.advsearch-excerpt img {
	max-width: 100%;
	height: auto;
	max-height: 120px;
	object-fit: contain;
}

/* Clamp code/quotes */
.advsearch-excerpt .codebox,
.advsearch-excerpt pre,
.advsearch-excerpt code {
	max-height: 140px;
	overflow: auto;
	display: block;
}

.advsearch-excerpt .quotecontent,
.advsearch-excerpt blockquote {
	max-height: 140px;
	overflow: auto;
}

/* Lists and tables */
.advsearch-excerpt ul,
.advsearch-excerpt ol {
	margin-top: .4em;
	margin-bottom: .4em;
}

.advsearch-excerpt table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

/* Long words/URLs */
.advsearch-excerpt, .advsearch-excerpt * {
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

/* SR-only helper */
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	border: 0 !important;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
	.advsearch-save-panel {
		border-color: #3a4754;
		box-shadow: none;
	}
	.advsearch-tag {
		--chip-bg-start: #232a31;
		--chip-bg-end: #1f252c;
		--chip-border: #3a4754;
		--chip-text: #dce3ea;
		--chip-hover: #2a333c;
		--chip-danger: #ff6b6b;
		box-shadow: none;
	}
	.advsearch-tag-close:hover {
		background: rgba(255,255,255,.08);
	}
}