/*
 * Search (inc/search.php). Figma: sheet 2148:48300, suggestions 48525, results 48734, no results
 * 49087, loading 49306; mobile 48416–49451.
 *   .tsq   the sheet (a <dialog>) that opens over any page
 *   .tse   the results page, and the parts the sheet shares with it (rows, labels, chips)
 */

/* ── Shared parts ─────────────────────────────────────────────────────────── */

body .tse .tse-label,
body .tsq .tse-label {
	margin: 0;
	font-family: inherit;
	color: #96969A;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 1.6px;
	text-transform: uppercase;
}
.tse-rows,
.tse-chips,
.tse-list,
.tse-tabs-in {
	margin: 0;
	padding: 0;
	list-style: none;
}
.tse-rows > li + li .tse-row {
	border-top: 1px solid #E4E4E7;
}
body a.tse-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	color: #171719;
	text-decoration: none;
	transition: background-color var(--m-dur-s, 200ms);
}
.tse-row .tse-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	color: #96969A;
}
.tse-row-t {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.tse-row-title {
	font-size: 16px;
	line-height: 1.45;
}
.tse-row-meta {
	color: #96969A;
	font-size: 13px;
	line-height: 1.5;
}
.tse-arrow {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	color: #96969A;
	transition: transform var(--m-dur-s, 200ms), color var(--m-dur-s, 200ms);
}
body a.tse-row:hover .tse-row-title {
	text-decoration: underline;
	text-underline-offset: 3px;
}
body a.tse-row:hover .tse-arrow {
	color: #171719;
	transform: translateX(2px);
}
.tse-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
body .tse-chips a {
	display: inline-flex;
	padding: 10px 18px;
	border: 1px solid #9C9CA2;
	color: #171719;
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
	transition: border-color var(--m-dur-s, 200ms), background-color var(--m-dur-s, 200ms);
}
body .tse-chips a:hover {
	border-color: #171719;
	background: #FBFBFA;
}

/* The start: recent, popular, browse, then the tip. */
.tse-start-in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 80px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 48px 80px 64px;
}
.tse-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}
.tse-col[hidden] {
	display: none;
}
.tse-col-chips {
	gap: 24px;
}
.tse-tip {
	margin: 0;
	padding: 24px 80px 32px;
	background: #FBFBFA;
	color: #656569;
	font-size: 14px;
	line-height: 1.5;
}

/* ── The sheet ────────────────────────────────────────────────────────────── */

dialog.tsq {
	position: fixed;
	inset: 0 0 auto;
	width: 100%;
	max-width: none;
	max-height: 100dvh;
	margin: 0;
	padding: 0;
	overflow: auto;
	border: 0;
	background: #FFFFFF;
	color: #171719;
}
dialog.tsq::backdrop {
	background: rgba(23, 21, 17, 0.92);
}
dialog.tsq[open] {
	animation: tsq-in var(--m-dur-m, 280ms) var(--m-ease, cubic-bezier(0.2, 0.7, 0.2, 1));
}
@keyframes tsq-in {
	from { opacity: 0; transform: translateY(-12px); }
}
html.tsq-locked {
	overflow: hidden;
}
.tsq-bar {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 32px 80px;
	border-bottom: 1px solid #E4E4E7;
}
.tsq-glass {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	color: #171719;
}
body.elementor-kit-5 .tsq .tsq-bar input.tsq-input,
.tsq-bar .tsq-input {
	flex: 1 1 auto;
	min-width: 0;
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #171719;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -0.02em;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.tsq-bar .tsq-input::placeholder {
	color: #6B6B70;
	font-weight: 400;
	opacity: 1;
}
.tsq-bar .tsq-input::-webkit-search-cancel-button {
	display: none;
}
body .tsq-bar button.tsq-clear,
body .tsq-bar button.tsq-esc {
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
	align-items: center;
	margin: 0;
	border: 1px solid #E4E4E7;
	border-radius: 0;
	background: #FFFFFF;
	color: #656569;
	cursor: pointer;
	transition: border-color var(--m-dur-s, 200ms), color var(--m-dur-s, 200ms);
}
body .tsq-bar button.tsq-clear {
	width: 40px;
	height: 40px;
	padding: 0;
}
body .tsq-bar button.tsq-clear[hidden] {
	display: none;
}
.tsq-clear .tse-icon {
	width: 18px;
	height: 18px;
}
body .tsq-bar button.tsq-esc {
	padding: 10px 16px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
}
body .tsq-bar button.tsq-clear:hover,
body .tsq-bar button.tsq-esc:hover {
	border-color: #171719;
	color: #171719;
}
.tsq-esc-m {
	display: none;
}

/* Suggestions. */
.tsq-list[hidden],
.tsq-start[hidden] {
	display: none;
}
.tsq-groups {
	padding: 32px 80px 40px;
}
.tsq-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 28px;
}
.tsq-group:last-child {
	padding-bottom: 0;
}
.tsq-group a.tse-row {
	padding: 14px 16px;
}
.tsq-group a.tse-row[aria-selected="true"] {
	background: #F6F3EF;
}
.tsq-group a.tse-row[aria-selected="true"] .tse-row-title {
	font-weight: 500;
}
.tsq-group a.tse-row[aria-selected="true"] .tse-icon {
	color: #6F6556;
}
.tsq-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 24px 80px 32px;
	background: #FBFBFA;
}
.tsq-foot p {
	margin: 0;
	color: #656569;
	font-size: 14px;
	line-height: 1.5;
}
body a.tsq-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #171719;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
}
.tsq-all .tse-arrow {
	color: #171719;
}
body a.tsq-all:hover .tse-arrow {
	transform: translateX(2px);
}
.tsq-none {
	padding: 40px 80px 48px;
	color: #656569;
	font-size: 15px;
	line-height: 1.6;
}
.tsq-none p {
	margin: 0;
}
.tsq-none strong {
	color: #171719;
	font-weight: 500;
}

/* ── The results page ─────────────────────────────────────────────────────── */

.tse {
	width: 100%;
	color: #171719;
}
.tse-bar {
	margin: 0;
	background: #FBFBFA;
	border-top: 1px solid #E4E4E7;
	border-bottom: 1px solid #E4E4E7;
}
.tse-bar-in {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 28px 80px;
}
.tse-glass {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	color: #171719;
}
body.elementor-kit-5 .tse .tse-bar input.tse-input,
.tse-bar .tse-input {
	flex: 1 1 auto;
	min-width: 0;
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #171719;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -0.02em;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.tse-bar .tse-input::placeholder {
	color: #6B6B70;
	font-weight: 400;
	opacity: 1;
}
.tse-bar .tse-input::-webkit-search-cancel-button {
	display: none;
}
body a.tse-clear {
	display: inline-flex;
	flex: 0 0 40px;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid #9C9CA2;
	color: #171719;
	transition: border-color var(--m-dur-s, 200ms);
}
body a.tse-clear:hover {
	border-color: #171719;
}
.tse-clear .tse-icon {
	width: 18px;
	height: 18px;
}
.tse > .tse-start {
	border-bottom: 1px solid #E4E4E7;
}
.tse > .tse-start .tse-tip {
	text-align: center;
}

/* Tabs. */
.tse-tabs {
	border-bottom: 1px solid #E4E4E7;
}
.tse-tabs-in {
	display: flex;
	gap: 32px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 80px;
	overflow-x: auto;
	scrollbar-width: none;
}
.tse-tabs-in::-webkit-scrollbar {
	display: none;
}
.tse-tabs-in li {
	flex: 0 0 auto;
}
body a.tse-tab {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: -1px;
	padding: 20px 0;
	border-bottom: 2px solid transparent;
	color: #656569;
	font-size: 15px;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--m-dur-s, 200ms), border-color var(--m-dur-s, 200ms);
}
body a.tse-tab:hover {
	color: #171719;
}
body a.tse-tab[aria-current="page"] {
	border-bottom-color: #171719;
	color: #171719;
	font-weight: 500;
}
.tse-count {
	color: #96969A;
	font-size: 13px;
	font-weight: 400;
}

/* Results. */
.tse-body {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 40px 80px 88px;
	transition: opacity var(--m-dur-s, 200ms);
}
.tse-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}
.tse-total {
	margin: 0;
	color: #656569;
	font-size: 15px;
	line-height: 1.5;
}
.tse-sort {
	margin: 0;
}
body.elementor-kit-5 .tse .tse-sort select,
.tse-sort select {
	width: auto;
	height: auto;
	padding: 0 22px 0 0;
	border: 0;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23171719' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center;
	color: #171719;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.tse-list > li + li {
	border-top: 1px solid #E4E4E7;
}
body a.tse-result {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 28px 0;
	color: #171719;
	text-decoration: none;
}
.tse-img {
	display: flex;
	flex: 0 0 140px;
	justify-content: center;
	align-items: center;
	width: 140px;
	height: 105px;
	object-fit: cover;
	background: #F2EDE1;
}
.tse-noimg {
	background: #FBFBFA;
	border: 1px solid #E4E4E7;
	color: #96969A;
}
.tse-noimg .tse-icon {
	width: 26px;
	height: 26px;
}
.tse-result-t {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
}
.tse-tag {
	padding: 4px 10px;
	background: #F2EDE1;
	color: #6F6556;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 1.3px;
	text-transform: uppercase;
}
.tse-result-title {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -0.02em;
}
.tse-result-meta {
	color: #96969A;
	font-size: 13px;
	line-height: 1.5;
}
.tse-result-text {
	color: #656569;
	font-size: 15px;
	line-height: 1.58;
}
.tse-go {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}
.tse-go .tse-arrow {
	color: #171719;
}
body a.tse-result:hover .tse-result-title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
body a.tse-result:hover .tse-go .tse-arrow {
	transform: translateX(3px);
}
.tse-empty-tab {
	margin: 0;
	color: #656569;
	font-size: 15px;
	line-height: 1.6;
}
body .tse-empty-tab a {
	color: #171719;
	font-weight: 500;
}

/* Pagination. */
.tse-pages {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 24px;
}
body .tse-pages a {
	display: inline-flex;
	padding: 10px 18px;
	border: 1px solid #9C9CA2;
	background: #FFFFFF;
	color: #171719;
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
	transition: border-color var(--m-dur-s, 200ms);
}
body .tse-pages a:hover {
	border-color: #171719;
}
body .tse-pages a[aria-current="page"] {
	border-color: #171719;
	background: #171719;
	color: #FFFFFF;
	font-weight: 500;
}

/* Loading. */
.tse-sk {
	display: block;
	background: #EDEDEF;
	animation: tse-pulse 1.4s ease-in-out infinite;
}
@keyframes tse-pulse {
	50% { opacity: 0.55; }
}
.tse-sk-total { width: 180px; height: 16px; }
.tse-sk-row { display: flex; gap: 24px; padding: 28px 0; }
.tse-list > .tse-sk-row + .tse-sk-row { border-top: 1px solid #E4E4E7; }
.tse-sk-img { flex: 0 0 140px; height: 105px; }
.tse-sk-t { display: flex; flex: 1 1 auto; flex-direction: column; gap: 12px; }
.tse-sk-tag { width: 76px; height: 18px; }
.tse-sk-title { width: min(420px, 80%); height: 22px; }
.tse-sk-meta { width: min(240px, 60%); height: 14px; }
.tse-sk-line { width: 100%; height: 14px; }
.tse-sk-line2 { width: min(520px, 70%); height: 14px; }
.tse-sk-note {
	margin: 0;
	padding-top: 32px;
	color: #96969A;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}
.tse.is-loading .tse-body:not(.tse-loading) {
	opacity: 0.5;
}

/* No results. */
.tse-none {
	display: flex;
	flex-direction: column;
	gap: 48px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 88px 80px 96px;
}
.tse-none-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
}
.tse-none-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	border: 1px solid #E4E4E7;
	border-radius: 50%;
	background: #FBFBFA;
	color: #96969A;
}
.tse-none-icon .tse-icon {
	width: 32px;
	height: 32px;
}
.tse .tse-none-title {
	margin: 0;
	color: #171719;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.7px;
}
.tse-none-text {
	max-width: 560px;
	margin: 0;
	color: #656569;
	font-size: 16px;
	line-height: 1.6;
}
.tse-none-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	padding-top: 8px;
}
body a.tse-btn {
	display: inline-flex;
	padding: 16px 30px;
	border: 1px solid #171719;
	background: #171719;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color var(--m-dur-s, 200ms), color var(--m-dur-s, 200ms);
}
body a.tse-btn:hover {
	background: #FFFFFF;
	color: #171719;
}
body a.tse-btn.is-line {
	background: #FFFFFF;
	color: #171719;
}
body a.tse-btn.is-line:hover {
	background: #171719;
	color: #FFFFFF;
}
.tse-none-more {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 56px;
	border-top: 1px solid #E4E4E7;
}
.tse-none-more .tse-chips {
	justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
	dialog.tsq[open],
	.tse-sk {
		animation: none;
	}
}

/* ── Tablet and mobile ────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
	.tse-start-in { gap: 48px; padding: 40px; }
	.tsq-bar,
	.tse-bar-in { padding-left: 40px; padding-right: 40px; }
	.tsq-groups,
	.tsq-foot,
	.tsq-none,
	.tse-tip { padding-left: 40px; padding-right: 40px; }
	.tse-tabs-in,
	.tse-body,
	.tse-none { padding-left: 40px; padding-right: 40px; }
}

@media (max-width: 767px) {
	dialog.tsq { height: 100dvh; }
	dialog.tsq::backdrop { background: #FFFFFF; }
	.tsq-bar { gap: 12px; padding: 16px 20px; }
	.tsq-glass { flex-basis: 22px; width: 22px; height: 22px; }
	body.elementor-kit-5 .tsq .tsq-bar input.tsq-input,
	.tsq-bar .tsq-input { font-size: 17px; font-weight: 400; letter-spacing: 0; }
	.tsq-bar .tsq-input::placeholder { font-size: 15px; }
	body .tsq-bar button.tsq-clear { width: 32px; height: 32px; }
	body .tsq-bar button.tsq-esc { padding: 4px 0; border: 0; color: #171719; font-size: 15px; }
	.tsq-esc-d { display: none; }
	.tsq-esc-m { display: inline; }

	.tse-start-in { grid-template-columns: 1fr; gap: 40px; padding: 32px 20px 40px; }
	.tse-tip { padding: 20px 20px 28px; }
	.tse > .tse-start .tse-tip { text-align: left; }
	.tsq-groups { padding: 24px 20px 32px; }
	.tsq-group a.tse-row { padding: 14px 12px; }
	.tsq-foot { padding: 20px; }
	.tsq-none { padding: 32px 20px; }

	.tse-bar-in { gap: 12px; padding: 16px 20px; }
	.tse-glass { flex-basis: 22px; width: 22px; height: 22px; }
	body.elementor-kit-5 .tse .tse-bar input.tse-input,
	.tse-bar .tse-input { font-size: 18px; }
	body a.tse-clear { flex-basis: 36px; width: 36px; height: 36px; }
	.tse-tabs-in { gap: 24px; padding: 0 20px; }
	body a.tse-tab { padding: 16px 0; }
	.tse-body { gap: 24px; padding: 24px 20px 64px; }
	.tse-total { font-size: 13px; }
	body a.tse-result { gap: 16px; padding: 20px 0; }
	.tse-img,
	.tse-sk-img { flex-basis: 96px; width: 96px; height: 72px; }
	.tse-result-title { font-size: 18px; }
	.tse-result-text { font-size: 14px; line-height: 1.55; }
	.tse-go { display: none; }
	.tse-sk-row { gap: 16px; padding: 20px 0; }
	.tse-none { gap: 40px; padding: 56px 20px 64px; }
	.tse .tse-none-title { font-size: 24px; letter-spacing: -0.4px; }
	.tse-none-text { font-size: 15px; }
	.tse-none-actions { flex-direction: column; align-self: stretch; }
	body a.tse-btn { justify-content: center; }
	.tse-none-more { padding-top: 40px; }
	.tse-none-more .tse-chips { justify-content: flex-start; }
}
