/* Sjekk håndverker — søkeboks, autocomplete og rapport.
 * Navy/gull (matcher temaet). Nøytrale statusfarger — aldri en «dom». */

.sh-visually-hidden {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ---- Søkeboks (pill) ---- */
.sh-sok { position: relative; max-width: 620px; margin: 0 auto; }
.sh-sok-felt {
	display: flex; align-items: stretch;
	background: #fff; border-radius: 999px;
	padding: 6px; padding-left: 10px;
	box-shadow: 0 12px 32px rgba(15, 30, 55, .22);
	transition: box-shadow .15s, transform .15s;
}
.sh-sok-felt:focus-within { box-shadow: 0 14px 38px rgba(15, 30, 55, .30); }
.sh-sok input[type="text"] {
	flex: 1; min-width: 0; border: none; outline: none; background: transparent;
	padding: 14px 14px; font-size: 1.08rem; color: #1C1C1E; font-family: inherit;
}
.sh-sok input[type="text"]::placeholder { color: #9a948b; }
.sh-sok button {
	flex: 0 0 auto; border: none; cursor: pointer; white-space: nowrap;
	background: #C9A84C; color: #1E3A5F; font-weight: 700; font-size: 1rem;
	padding: 0 30px; border-radius: 999px; font-family: inherit;
	transition: background .15s, transform .05s;
}
.sh-sok button:hover { background: #b89740; }
.sh-sok button:active { transform: translateY(1px); }

/* ---- Autocomplete-forslag ---- */
.sh-forslag {
	list-style: none; margin: 0; padding: 6px; position: absolute; z-index: 30;
	top: calc(100% + 8px); left: 0; right: 0; background: #fff; border: 1px solid #e8e3db;
	border-radius: 16px; box-shadow: 0 12px 32px rgba(15,30,55,.18); overflow: hidden; text-align: left;
}
.sh-forslag-rad { border-radius: 10px; border-bottom: none; }
.sh-forslag-rad { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #f0ede8; }
.sh-forslag-rad:last-child { border-bottom: none; }
.sh-forslag-rad:hover, .sh-forslag-rad:focus { background: #F9F7F4; outline: none; }
.sh-forslag-navn { display: block; font-weight: 600; color: #1E3A5F; }
.sh-forslag-meta { display: block; font-size: .82rem; color: #777; margin-top: 2px; }
.sh-forslag-tom { padding: 12px 14px; color: #888; }

/* ---- Treffliste (server-rendret, no-JS) ---- */
.sh-treff { max-width: 640px; margin: 24px auto 0; }
.sh-treffliste { list-style: none; padding: 0; margin: 12px 0 0; }
.sh-treffliste li { border: 1px solid #e0ddd8; border-radius: 8px; margin-bottom: 8px; }
.sh-treffliste a { display: block; padding: 12px 16px; text-decoration: none; color: inherit; }
.sh-treffliste a:hover { background: #F9F7F4; }
.sh-treff-navn { display: block; font-weight: 600; color: #1E3A5F; }
.sh-treff-meta { display: block; font-size: .82rem; color: #777; margin-top: 2px; }

/* ---- Rapport ---- */
.sh-main { max-width: 760px; margin: 0 auto; }
.sh-ingress { text-align: center; color: #555; max-width: 560px; margin: 0 auto 24px; }

.sh-rapport {
	background: #fff; border: 1px solid #e0ddd8; border-radius: 10px;
	padding: 28px; margin-top: 24px; color: #1C1C1E; text-align: left;
}
.sh-rapport-topp { border-bottom: 2px solid #C9A84C; padding-bottom: 14px; margin-bottom: 6px; }
.sh-foretak-navn { margin: 0 0 4px; font-size: 1.55rem; color: #1E3A5F; }
.sh-foretak-meta { margin: 0; color: #666; font-size: .95rem; }

.sh-status-stripe {
	display: inline-block; margin: 16px 0; padding: 6px 14px; border-radius: 6px;
	font-weight: 600; font-size: .92rem;
}
.sh-status--aktiv     { background: #eef4ee; color: #2f5233; border-left: 4px solid #6b8f71; }
.sh-status--historisk { background: #f4efe6; color: #6b5a2e; border-left: 4px solid #C9A84C; }

.sh-seksjon { margin: 22px 0; }
.sh-seksjon h3 { font-size: 1.1rem; color: #1E3A5F; margin: 0 0 10px; }

.sh-tabell { width: 100%; border-collapse: collapse; }
.sh-tabell th, .sh-tabell td { padding: 9px 10px; text-align: left; border-bottom: 1px solid #eee; font-size: .96rem; vertical-align: top; }
.sh-tabell th { width: 42%; color: #555; font-weight: 500; }
.sh-muted { color: #888; font-weight: normal; }

.sh-omrader { margin: 6px 0 0; padding-left: 20px; }
.sh-omrader li { margin-bottom: 4px; }

.sh-momenter ul { margin: 8px 0 0; padding-left: 20px; }
.sh-momenter li { margin-bottom: 6px; }

.sh-eksterne ul { margin: 8px 0 0; padding-left: 20px; }
.sh-eksterne li { margin-bottom: 5px; }

.sh-kilder { margin-top: 24px; padding-top: 16px; border-top: 1px solid #eee; }
.sh-disclaimer { font-size: .82rem; color: #777; margin: 0 0 8px; }
.sh-nlod { font-size: .76rem; color: #999; margin: 0; }

.sh-melding, .sh-error {
	background: #f4efe6; border: 1px solid #e3d6b5; color: #6b5a2e;
	padding: 14px 16px; border-radius: 8px; margin-top: 20px;
}
.sh-loading { text-align: center; padding: 28px; color: #888; }
.sh-forbehold { font-size: .82rem; color: #888; text-align: center; max-width: 600px; margin: 24px auto 0; }

@media (max-width: 480px) {
	.sh-sok-felt { flex-direction: column; }
	.sh-tabell th { width: 50%; }
}
