/* ============================================================
   Sökruta – Westerqwarn
   ============================================================ */

/* Fast bredd så att Elementor inte krymper rutan i en rad */
.wq-sok {
	position: relative;
	width: 180px;
}

.wq-sok__ikon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #7F8A82;
	pointer-events: none;
}

.wq-sok__falt {
	width: 100%;
	height: 36px;
	padding: 0 12px 0 34px;
	font-family: "Familjen Grotesk", sans-serif;
	font-size: 15px;
	color: #3B3A36;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(59, 58, 54, 0.25);
	border-radius: 999px;
	transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.wq-sok__falt::placeholder {
	color: #7F8A82;
}

.wq-sok__falt:focus {
	outline: none;
	background: #fff;
	border-color: #B88D1B;
	box-shadow: 0 0 0 3px rgba(184, 141, 27, 0.2);
}

/* ============================================================
   Resultatlistan (live-sökningen)
   ============================================================ */

body .relevanssi-live-search-results {
	min-width: 320px;
	max-width: calc(100vw - 32px);
	margin-top: 6px;
	background: #EAE3D9;
	border: 1px solid rgba(59, 58, 54, 0.15);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(59, 58, 54, 0.18);
	font-family: "Familjen Grotesk", sans-serif;
}

/* Pluginet begränsar listan till 300px – visa alla träffar, rulla bara på låga skärmar */
body .relevanssi-live-search-results.relevanssi-live-search-results-showing {
	max-height: min(70vh, 640px);
	overflow-y: auto;
}

/* Dator: listan (320px) är bredare än rutan (180px). Pluginet lägger listan vid rutans
   vänsterkant – flytta den åt vänster så att högerkanterna linjerar och listan inte
   hamnar utanför skärmen när rutan sitter till höger i headern. */
@media (min-width: 768px) {
	body .relevanssi-live-search-results.relevanssi-live-search-results-showing {
		margin-left: calc(180px - 320px);
	}
}

body .relevanssi-live-search-result-status p {
	margin: 0;
	padding: 10px 16px 6px;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #7F8A82;
}

body .relevanssi-live-search-result {
	position: relative;
	cursor: pointer;
	padding: 10px 16px;
	border-top: 1px solid rgba(59, 58, 54, 0.08);
	transition: background 0.15s;
}

body .relevanssi-live-search-result:hover,
body .relevanssi-live-search-result[aria-selected="true"] {
	background: #E2D8CA;
}

body .relevanssi-live-search-result p {
	margin: 0;
	padding: 0;
	border: 0;
}

body .relevanssi-live-search-result a {
	font-size: 15px;
	font-weight: 600;
	color: #3B3A36;
	text-decoration: none;
}

/* Hela träffen klickbar: länken täcker rubrik och textbit */
body .relevanssi-live-search-result a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

body .relevanssi-live-search-no-results {
	margin: 0;
	padding: 14px 16px;
	color: #3B3A36;
}

/* Textbiten under varje träff */
body .relevanssi-live-search-result .sok-utdrag {
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(59, 58, 54, 0.8);
}

.sok-utdrag mark {
	background: rgba(201, 166, 74, 0.35);
	color: inherit;
	padding: 0 2px;
	border-radius: 2px;
}

/* Spinnern medan träffarna laddas: pluginet ritar en blå ring (border) och en prick (::after) */
body .rlv-has-spinner {
	width: 28px;
	height: 28px;
	border-width: 3px;
	border-color: #B88D1B transparent #B88D1B #B88D1B;
}

body .rlv-has-spinner::after {
	display: none;
}

/* ============================================================
   Sökresultatsidan och kort
   ============================================================ */

/* Hela kortet klickbart via rubriklänken */
.search-results .e-loop-item {
	position: relative;
}

.search-results .e-loop-item :is(h1, h2, h3, h4) a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Kort (besöksmål, evenemang) som man kommit till från en sökträff markeras en kort stund */
.wq-kort-markerad {
	outline: 3px solid #B88D1B;
	outline-offset: 6px;
	border-radius: 2px;
}

/* ============================================================
   Mobil – sist i filen så att reglerna går före datorreglerna ovan
   ============================================================ */

@media (max-width: 767px) {
	/* Hopfälld är sökrutan en rund knapp med bara förstoringsglaset. Widgeten tar bara knappens
	   plats i raden; när man trycker i rutan växer den och fyller raden fram till menyknappen. */
	.elementor-widget:has(.wq-sok) {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0;
		margin-left: auto;
	}

	.elementor-widget:has(.wq-sok:focus-within) {
		flex: 1 1 auto !important;
	}

	.wq-sok {
		display: flex;
		justify-content: flex-end;
		width: auto;
		min-width: 0;
	}

	.wq-sok:focus-within {
		width: 100%;
	}

	/* Ikonen till höger, ovanpå fältet */
	.wq-sok__ikon {
		left: auto;
		right: 12px;
		z-index: 1;
	}

	/* 16px hindrar iPhone från att zooma in när man trycker i rutan */
	.wq-sok__falt {
		width: 40px;
		height: 40px;
		padding: 0;
		font-size: 16px;
		color: transparent;
		cursor: pointer;
		transition: width 0.25s ease, border-color 0.2s, box-shadow 0.2s, background 0.2s;
	}

	.wq-sok__falt::placeholder {
		color: transparent;
	}

	/* Krysset för att tömma rutan får inte synas i den hopfällda knappen */
	.wq-sok__falt:not(:focus)::-webkit-search-cancel-button {
		-webkit-appearance: none;
	}

	/* Utfälld */
	.wq-sok:focus-within .wq-sok__falt {
		width: 100%;
		padding: 0 40px 0 14px;
		color: #3B3A36;
		cursor: text;
	}

	.wq-sok:focus-within .wq-sok__falt::placeholder {
		color: #7F8A82;
	}

	/* Pluginet lägger listan vid rutans vänsterkant – lägg den över hela skärmen i stället */
	body .relevanssi-live-search-results.relevanssi-live-search-results-showing {
		left: 12px !important;
		width: calc(100vw - 24px) !important;
		min-width: 0;
		max-width: none;
		max-height: 60vh;
	}

	body .relevanssi-live-search-result {
		padding: 12px 16px;
	}

	body .relevanssi-live-search-result a {
		font-size: 16px;
	}

	body .relevanssi-live-search-result .sok-utdrag {
		font-size: 14px;
	}
}

/* Sökresultatsidan: ingen extra marginal runt innehållet */
.search main {
	margin: 0;
}