/* Portal search */

.srch {
	/* Travel shortcut colours */
	--srch-travel-bg: #ffecb3;
	--srch-travel-edge: #edc04f;
	--srch-travel-ink: #8a6100;
	--srch-dim: rgba(43, 49, 64, .42);
}
html.srch-open { overflow: hidden; }

/* Pop-up */
.srch-pop { position: fixed; inset: 0; z-index: 1038; display: flex; flex-direction: column; }
.srch-pop[hidden] { display: none; }
.srch-dim { flex: 1; min-height: 0; background: var(--srch-dim); }
.srch-panel { display: flex; flex-direction: column; min-height: 0; max-height: 100%; background: var(--sk-soft); border-bottom: 1px solid var(--sk-line-strong); box-shadow: 0 14px 30px rgba(43, 49, 64, .18); padding-top: env(safe-area-inset-top, 0px); }
.srch-head, .srch-scroll { width: 100%; max-width: var(--sk-wrap); margin: 0 auto; padding: 0 15px; }
.srch-head { padding-top: 16px; padding-bottom: 12px; }
.srch-scroll { overflow-y: auto; overscroll-behavior: contain; padding-bottom: 18px; }
.srch-res { max-width: 860px; }

/* Search field */
.srch-f { display: flex; align-items: center; gap: 8px; }
.srch-in { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; height: 52px; margin: 0; padding: 0 8px 0 16px; background: #fff; border: 1.5px solid var(--sk-ink); border-radius: var(--sk-radius); color: var(--sk-muted); }
.srch-in .sk-ic { width: 20px; height: 20px; }
.srch-q { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: none; padding: 0; font: inherit; font-size: 17px; color: var(--sk-ink); }
.srch-q::-webkit-search-cancel-button { -webkit-appearance: none; }
.srch-x, .srch-close, .srch-back { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--sk-ink); border-radius: 6px; }
.srch-x .sk-ic { width: 16px; height: 16px; }
.srch-x[hidden] { display: none; }
.srch-close .sk-ic, .srch-back .sk-ic { width: 22px; height: 22px; }
.srch-x:hover, .srch-close:hover, .srch-back:hover { background: #fff; }
.srch-cancel { padding: 8px 4px; font-weight: 500; color: var(--sk-accent); }
.srch-back, .srch-cancel { display: none; }
.srch-sub { height: 52px; padding: 0 22px; border-radius: var(--sk-radius); background: var(--sk-accent); color: #fff; font-weight: 500; font-size: 15px; }
.srch-sub:hover { background: var(--sk-accent-dark); }

/* Groups and rows */
.srch-dym { margin: 4px 2px 10px; font-size: 13px; color: var(--sk-muted); }
.srch-g { margin-top: 12px; }
.srch-gh { margin: 0; padding: 0 4px 6px; font-size: 11.5px; font-weight: 500; line-height: 1.4; letter-spacing: .07em; text-transform: uppercase; color: var(--sk-muted); }
.srch-l { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
.srch-row { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; border-radius: 6px; }
.srch-o { display: flex; align-items: center; gap: 12px; flex: 1 1 260px; min-width: 0; padding: 8px 10px; border-radius: 6px; color: var(--sk-text); }
.srch a.srch-o:hover { text-decoration: none; }
.srch-o:hover, .srch-o.is-act { background: #fff; color: var(--sk-text); }
.srch-o.is-act { box-shadow: inset 0 0 0 2px var(--sk-accent); }
.srch-m { display: flex; flex-direction: column; min-width: 0; }
.srch-n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; line-height: 1.3; color: var(--sk-ink); }
.srch-n b { font-weight: 600; }
.srch-n-art { white-space: normal; font-size: 14px; }
.srch-s { font-size: 12.5px; line-height: 1.35; color: var(--sk-muted); }
.srch-flag { width: 20px; height: 14px; flex: 0 0 auto; border-radius: 2px; object-fit: cover; background: var(--sk-line); box-shadow: 0 0 0 1px rgba(43, 49, 64, .12); }
.srch-pill .srch-flag { width: 18px; height: 12px; }
/* Agency badge */
.srch-fav { position: relative; width: 22px; height: 22px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 5px; background: #fff; box-shadow: 0 0 0 1px rgba(43, 49, 64, .12); font-size: 11.5px; font-weight: 700; line-height: 1; color: var(--sk-muted); }
.srch-fav img { position: absolute; inset: 0; width: 100%; height: 100%; background: #fff; }
.srch-ai { width: 28px; height: 28px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--sk-accent); }
.srch-ai .sk-ic { width: 15px; height: 15px; }

/* Destination shortcuts */
.srch-chips { display: flex; flex: 0 0 auto; gap: 6px; padding-right: 8px; }
.srch .srch-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 11px; border: 1px solid var(--sk-line-strong); border-radius: 16px; background: #fff; font-size: 13px; white-space: nowrap; color: var(--sk-ink); }
.srch .srch-chip:hover { border-color: var(--sk-ink); text-decoration: none; color: var(--sk-ink); }
.srch-chip .sk-ic { width: 15px; height: 15px; }
.srch .srch-chip-t { background: var(--srch-travel-bg); border-color: var(--srch-travel-edge); font-weight: 500; }
.srch-chip-t .sk-ic { color: var(--srch-travel-ink); }
.srch-chip.is-act { box-shadow: 0 0 0 2px var(--sk-accent); }

/* Shop rows */
.srch-ci, .srch-bl { width: 28px; height: 28px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px var(--sk-line); }
.srch-ci { color: var(--sk-accent); }
.srch-ci i { display: block; width: 19px; height: 19px; background-color: currentColor; -webkit-mask: var(--srch-ico) center / contain no-repeat; mask: var(--srch-ico) center / contain no-repeat; }
.srch-bl { position: relative; overflow: hidden; width: 44px; font-size: 12.5px; font-weight: 700; color: var(--sk-muted); }
.srch-bl img { position: absolute; inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); object-fit: contain; background: #fff; }

/* Empty state and no results */
.srch-empty { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 18px 28px; padding: 6px 0 4px; }
.srch-empty.is-solo { grid-template-columns: minmax(0, 1fr); }
.srch-eb { min-width: 0; }
.srch-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.srch .srch-pill { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border: 1px solid var(--sk-line); border-radius: 17px; background: #fff; font-size: 13.5px; color: var(--sk-ink); }
.srch .srch-pill:hover { border-color: var(--sk-ink); text-decoration: none; color: var(--sk-ink); }
.srch-pill .sk-ic { width: 15px; height: 15px; color: var(--sk-muted); }
.srch-none { display: grid; gap: 12px; max-width: 640px; }
.srch-none-t { margin: 6px 4px 0; font-size: 15px; color: var(--sk-ink); }

/* Results page */
.srch-page { min-width: 0; }
/* Travel search frame */
.srch-top .travel-filters-form .ts-searchbar-wrap.ts-entry { margin: 16px 0 0; padding: 12px; border-radius: var(--sk-radius); }
.srch-crumb { margin-bottom: 8px; font-size: 12.5px; color: var(--sk-muted); }
.srch-crumb a { color: var(--sk-muted); }
.srch-h1 { margin: 0 0 14px; font-size: 28px; font-weight: 500; line-height: 1.2; color: var(--sk-ink); text-wrap: balance; }
.srch-f.is-page { margin-bottom: 8px; }
.srch-f.is-page .srch-in { border-width: 1px; border-color: var(--sk-line-strong); }
.srch-page .srch-g { padding: 12px 8px 8px; background: #fff; border: 1px solid var(--sk-line); border-radius: var(--sk-radius); }
.srch-page .srch-o:hover, .srch-page .srch-o.is-act { background: var(--sk-soft-2); }

/* Phones */
@media (max-width: 767.98px) {
	.srch-pop .srch-dim { display: none; }
	.srch-pop .srch-panel { height: 100%; border-bottom: 0; box-shadow: none; }
	.srch-head { padding: 10px 8px 10px 4px; background: #fff; border-bottom: 1px solid var(--sk-line); }
	.srch-head .srch-f { gap: 4px; }
	.srch-head .srch-in { height: 46px; padding-left: 12px; border-width: 1px; border-color: var(--sk-line-strong); }
	.srch-q { font-size: 16px; }
	.srch-pop .srch-close { display: none; }
	.srch-pop .srch-back, .srch-pop .srch-cancel { display: flex; }
	.srch-scroll { flex: 1; padding: 4px 12px calc(24px + env(safe-area-inset-bottom, 0px)); }
	.srch-row { gap: 4px; }
	.srch-o { flex-basis: 100%; padding: 9px 6px; }
	.srch-n { white-space: normal; }
	.srch-chips { width: 100%; overflow-x: auto; padding: 0 0 8px 38px; scrollbar-width: none; }
	.srch-chips::-webkit-scrollbar { display: none; }
	.srch .srch-chip { height: 34px; }
	.srch-empty { grid-template-columns: minmax(0, 1fr); }
	.srch-h1 { font-size: 22px; }
	.srch-page .srch-chips { padding-left: 38px; }
	.srch-sub { padding: 0 16px; }
}

@media (prefers-reduced-motion: no-preference) {
	.srch-pop .srch-panel { animation: srch-drop .16s ease-out; }
	@keyframes srch-drop { from { opacity: .4; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
}

/* Category icons */
.srch-ci--alpinski { --srch-ico: url(../img/srch-icons/alpinski.svg?v=1); }
.srch-ci--andet { --srch-ico: url(../img/srch-icons/andet.svg?v=1); }
.srch-ci--born { --srch-ico: url(../img/srch-icons/born.svg?v=1); }
.srch-ci--bukser { --srch-ico: url(../img/srch-icons/bukser.svg?v=1); }
.srch-ci--camping { --srch-ico: url(../img/srch-icons/camping.svg?v=1); }
.srch-ci--cykling { --srch-ico: url(../img/srch-icons/cykling.svg?v=1); }
.srch-ci--dame { --srch-ico: url(../img/srch-icons/dame.svg?v=1); }
.srch-ci--flasker { --srch-ico: url(../img/srch-icons/flasker.svg?v=1); }
.srch-ci--herre { --srch-ico: url(../img/srch-icons/herre.svg?v=1); }
.srch-ci--jagt { --srch-ico: url(../img/srch-icons/jagt.svg?v=1); }
.srch-ci--jakker { --srch-ico: url(../img/srch-icons/jakker.svg?v=1); }
.srch-ci--langrend { --srch-ico: url(../img/srch-icons/langrend.svg?v=1); }
.srch-ci--lob { --srch-ico: url(../img/srch-icons/lob.svg?v=1); }
.srch-ci--mellemlag { --srch-ico: url(../img/srch-icons/mellemlag.svg?v=1); }
.srch-ci--outdoor { --srch-ico: url(../img/srch-icons/outdoor.svg?v=1); }
.srch-ci--populaert { --srch-ico: url(../img/srch-icons/populaert.svg?v=1); }
.srch-ci--regntoj { --srch-ico: url(../img/srch-icons/regntoj.svg?v=1); }
.srch-ci--rejsetasker { --srch-ico: url(../img/srch-icons/rejsetasker.svg?v=1); }
.srch-ci--rygsaekke { --srch-ico: url(../img/srch-icons/rygsaekke.svg?v=1); }
.srch-ci--saet { --srch-ico: url(../img/srch-icons/saet.svg?v=1); }
.srch-ci--sikkerhed { --srch-ico: url(../img/srch-icons/sikkerhed.svg?v=1); }
.srch-ci--skibriller { --srch-ico: url(../img/srch-icons/skibriller.svg?v=1); }
.srch-ci--skihjelme { --srch-ico: url(../img/srch-icons/skihjelme.svg?v=1); }
.srch-ci--skistave { --srch-ico: url(../img/srch-icons/skistave.svg?v=1); }
.srch-ci--skistovler { --srch-ico: url(../img/srch-icons/skistovler.svg?v=1); }
.srch-ci--skitasker { --srch-ico: url(../img/srch-icons/skitasker.svg?v=1); }
.srch-ci--skiudstyr { --srch-ico: url(../img/srch-icons/skiudstyr.svg?v=1); }
.srch-ci--skivoks { --srch-ico: url(../img/srch-icons/skivoks.svg?v=1); }
.srch-ci--solbriller { --srch-ico: url(../img/srch-icons/solbriller.svg?v=1); }
.srch-ci--storestr { --srch-ico: url(../img/srch-icons/storestr.svg?v=1); }
.srch-ci--tasker { --srch-ico: url(../img/srch-icons/tasker.svg?v=1); }
.srch-ci--taskertilbehor { --srch-ico: url(../img/srch-icons/taskertilbehor.svg?v=1); }
.srch-ci--tilbehor { --srch-ico: url(../img/srch-icons/tilbehor.svg?v=1); }
.srch-ci--udsalg { --srch-ico: url(../img/srch-icons/udsalg.svg?v=1); }
.srch-ci--underoj { --srch-ico: url(../img/srch-icons/underoj.svg?v=1); }
.srch-ci--vandring { --srch-ico: url(../img/srch-icons/vandring.svg?v=1); }
.srch-ci--varme { --srch-ico: url(../img/srch-icons/varme.svg?v=1); }
