/* Advanced AJAX Site Search - customizable, isolated UI */
.aas-search {
	--aas-border:#e5e7eb; --aas-text:#111827; --aas-muted:#6b7280;
	--aas-accent:#2563eb; --aas-accent-hover:#1d4ed8; --aas-input-bg:#fff; --aas-panel-bg:#fff;
	--aas-input-height:58px; --aas-input-radius:16px; --aas-panel-radius:18px;
	--aas-panel-width:760px; --aas-thumb-size:72px; --aas-card-padding:16px; --aas-card-radius:12px;
	position:relative; width:100%; max-width:var(--aas-panel-width); font-family:inherit; color:var(--aas-text); z-index:99999;
}
.aas-search *, .aas-search *::before, .aas-search *::after { box-sizing:border-box; }
.aas-search__form { margin:0; position:relative; }
.aas-search__control {
	display:flex; align-items:center; gap:11px; min-height:var(--aas-input-height); background:var(--aas-input-bg);
	border:1px solid var(--aas-border); border-radius:var(--aas-input-radius); padding:0 16px;
	box-shadow:0 5px 20px rgba(15,23,42,.07); transition:.2s ease;
}
.aas-search__control:focus-within {
	border-color:var(--aas-accent); box-shadow:0 0 0 4px color-mix(in srgb, var(--aas-accent) 12%, transparent), 0 12px 32px rgba(15,23,42,.12);
}
.aas-search__icon { width:22px; height:22px; flex:0 0 22px; color:var(--aas-muted); }
.aas-search__input {
	width:100%; min-width:0; border:0!important; outline:0!important; background:transparent!important;
	box-shadow:none!important; font-size:16px; line-height:1.4; color:var(--aas-text); padding:0!important; margin:0!important;
}
.aas-search__input::placeholder { color:#9ca3af; }
.aas-search__clear { border:0; background:transparent; color:#6b7280; cursor:pointer; width:34px; height:34px; border-radius:50%; font-size:24px; line-height:1; display:grid; place-items:center; padding:0; }
.aas-search__clear:hover,.aas-search__clear:focus-visible { background:#f3f4f6; color:#111827; outline:0; }
.aas-search__spinner { width:20px; height:20px; flex:0 0 20px; border:2px solid #dbeafe; border-top-color:var(--aas-accent); border-radius:50%; animation:aas-spin .7s linear infinite; display:none; }
.aas-search.is-loading .aas-search__spinner { display:block; }
@keyframes aas-spin { to { transform:rotate(360deg); } }

.aas-search__panel {
	position:fixed; left:0; right:auto; top:0; transform:none;
	width:min(var(--aas-panel-width), calc(100vw - 20px)); background:var(--aas-panel-bg); border:1px solid var(--aas-border);
	border-radius:var(--aas-panel-radius); box-shadow:0 24px 70px rgba(15,23,42,.18);
	overflow:hidden; max-height:min(680px, 72vh); overflow-y:auto;
}
.aas-search__header {
	display:flex; justify-content:space-between; align-items:center; gap:15px; padding:13px 18px;
	font-size:11px; font-weight:800; color:var(--aas-muted); text-transform:uppercase; letter-spacing:.07em;
	border-bottom:1px solid #eef0f3; background:linear-gradient(to bottom,#fff,#fafafa);
}
.aas-search__count { color:var(--aas-accent); }
.aas-search__item {
	display:grid; grid-template-columns:var(--aas-thumb-size) minmax(0,1fr) 25px; gap:16px; align-items:center;
	padding:var(--aas-card-padding); color:inherit; text-decoration:none; border-bottom:1px solid #eef0f3;
	background:var(--aas-panel-bg); transition:background .16s, transform .16s;
}
.aas-search__item:hover,.aas-search__item:focus-visible,.aas-search__item.is-active { background:#f8fbff; outline:0; }
.aas-search__thumb { width:var(--aas-thumb-size); height:var(--aas-thumb-size); border-radius:var(--aas-card-radius); object-fit:cover; display:block; background:#eef2f7; box-shadow:0 2px 8px rgba(15,23,42,.08); }
.aas-search__thumb--empty { display:grid; place-items:center; color:#94a3b8; font-size:24px; }
.aas-search__body { min-width:0; display:flex; flex-direction:column; gap:5px; }
.aas-search__meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--aas-muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.aas-search__meta i { font-style:normal; opacity:.5; }
.aas-search__type { color:var(--aas-accent); }
.aas-search__title { font-size:16px; line-height:1.35; font-weight:750; overflow-wrap:anywhere; }
.aas-search__excerpt { color:var(--aas-muted); font-size:13px; line-height:1.48; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.aas-search mark { background:#fef08a; color:inherit; border-radius:3px; padding:0 2px; }
.aas-search__tags { display:flex; gap:5px; flex-wrap:wrap; margin-top:2px; }
.aas-search__tags span { background:#f1f5f9; color:#64748b; border-radius:999px; padding:3px 8px; font-size:10px; }
.aas-search__arrow { color:#94a3b8; font-size:21px; transition:transform .15s,color .15s; }
.aas-search__item:hover .aas-search__arrow,.aas-search__item.is-active .aas-search__arrow { transform:translateX(4px); color:var(--aas-accent); }
.aas-search__item--compact { --aas-thumb-size:54px; padding:11px 14px; }
.aas-search__item--compact .aas-search__title { font-size:14px; }
.aas-search__item--compact .aas-search__excerpt { -webkit-line-clamp:1; }
.aas-search__all {
	width:100%; display:flex; justify-content:space-between; align-items:center; border:0; background:var(--aas-panel-bg);
	color:var(--aas-accent); font-weight:800; padding:16px 18px; cursor:pointer; font-size:14px; text-decoration:none;
}
.aas-search__all:hover,.aas-search__all:focus-visible { background:#eff6ff; color:var(--aas-accent-hover); outline:0; }
.aas-search__state { padding:42px 22px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:7px; color:var(--aas-muted); }
.aas-search__state strong { color:var(--aas-text); font-size:15px; }
.aas-search__state span { font-size:13px; }
.aas-search__state-icon { width:48px; height:48px; border-radius:50%; background:#eff6ff; color:var(--aas-accent); display:grid; place-items:center; font-size:23px; margin-bottom:5px; }

@media (max-width:640px) {
	.aas-search { max-width:100%; }
	.aas-search__control { min-height:52px; border-radius:var(--aas-input-radius); padding:0 13px; }
	.aas-search__panel { width:calc(100vw - 20px); max-height:74vh; border-radius:var(--aas-panel-radius); }
	.aas-search__item { grid-template-columns:58px minmax(0,1fr) 18px; gap:11px; padding:12px; }
	.aas-search__thumb { width:58px; height:58px; border-radius:10px; }
	.aas-search__title { font-size:14px; }
	.aas-search__excerpt { font-size:12px; }
	.aas-search__arrow { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) {
	.aas-search *, .aas-search *::before, .aas-search *::after { animation:none!important; transition:none!important; }
}
