/* WhatsOnIn Finder — instant results panel under the hero search. */

.woi-finder{
	--wf-accent:var(--red,#d6202f);
	--wf-ink:var(--ink,#1d1d1d);
	--wf-muted:var(--muted,#5d5d5d);
	--wf-line:var(--line,#e4e4e4);
	position:absolute;z-index:9990;
	background:#fff;color:var(--wf-ink);
	border-radius:12px;
	box-shadow:0 24px 60px -12px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.06);
	max-height:min(70vh,600px);overflow:auto;overscroll-behavior:contain;
	font:400 16px/1.4 var(--body,system-ui,sans-serif);
	text-align:left;
	animation:woi-f-in .14s ease-out;
}
.woi-finder[hidden]{display:none}
@keyframes woi-f-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.woi-finder{animation:none}}

.woi-finder.is-loading .woi-f-group{opacity:.55;transition:opacity .15s}

/* Header: query + understood filters */
.woi-f-head{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;
	padding:12px 48px 12px 18px;background:#fff;border-bottom:1px solid var(--wf-line);
	font:600 14px var(--head,inherit);color:var(--wf-muted)}
.woi-f-q{color:var(--wf-ink);font-size:15px;margin-right:4px}
.woi-f-q::before{content:"\201C"}.woi-f-q::after{content:"\201D"}
.woi-f-filter{background:color-mix(in srgb,var(--wf-accent) 10%,#fff);color:var(--wf-accent);
	border-radius:999px;padding:2px 10px;font-size:13px}
.woi-f-close{position:absolute;right:8px;top:7px;width:34px;height:34px;border:0;border-radius:50%;
	background:transparent;color:var(--wf-muted);display:grid;place-items:center;cursor:pointer;padding:0}
.woi-f-close:hover{background:#f2f2f2;color:var(--wf-ink)}

/* Groups */
.woi-f-group{padding:10px 8px 6px;border-bottom:1px solid var(--wf-line)}
.woi-f-group:last-of-type{border-bottom:0}
.woi-f-group h3{margin:4px 10px 6px;font:700 12px var(--head,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--wf-muted)}

.woi-f-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;color:inherit;text-decoration:none}
.woi-f-item:hover,.woi-f-item.is-active{background:#f4f4f2}
.woi-f-item.is-active{box-shadow:inset 3px 0 0 var(--wf-accent)}
.woi-f-thumb{flex:0 0 48px;width:48px;height:48px;border-radius:8px;overflow:hidden;background:#eee}
.woi-f-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.woi-f-ico{display:grid;place-items:center;color:var(--wf-accent);background:color-mix(in srgb,var(--wf-accent) 9%,#fff)}
.woi-f-events .woi-f-ico{color:#0b5d7a;background:#e6f1f5}
.woi-f-places .woi-f-ico{color:#1f7a3a;background:#e8f4ec}
.woi-f-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.woi-f-txt b{font:600 16px/1.25 var(--head,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.woi-f-txt small{font-size:14px;color:var(--wf-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.woi-f-txt mark{background:none;color:var(--wf-accent)}
.woi-f-badge{font-style:normal;font:600 12px var(--head,inherit);background:#1f7a3a;color:#fff;border-radius:999px;padding:2px 9px;white-space:nowrap}

.woi-f-more,.woi-f-all{display:flex;align-items:center;gap:6px;padding:8px 10px;font:600 14px var(--head,inherit);color:var(--wf-accent);text-decoration:none}
.woi-f-more:hover,.woi-f-all:hover{text-decoration:underline}
.woi-f-more svg,.woi-f-all svg{width:16px;height:16px;transition:transform .15s}
.woi-f-more:hover svg,.woi-f-all:hover svg{transform:translateX(3px)}
.woi-f-all{justify-content:center;padding:13px;border-top:1px solid var(--wf-line);background:#fafafa}

.woi-f-msg{margin:6px 10px 8px;color:var(--wf-muted);font-size:15px}
.woi-f-none{margin:18px 18px 6px;color:var(--wf-ink);font-weight:600}

.woi-f-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 18px 16px}
.woi-f-suggest span{width:100%;font-size:14px;color:var(--wf-muted)}
.woi-f-suggest button{border:1.5px solid var(--wf-line);background:#fff;color:var(--wf-ink);border-radius:999px;
	padding:5px 14px;font:500 15px var(--head,inherit);cursor:pointer}
.woi-f-suggest button:hover{border-color:var(--wf-accent);color:var(--wf-accent)}

/* Loading skeleton */
.woi-f-skel{display:flex;align-items:center;gap:12px;padding:10px 18px}
.woi-f-skel span{width:48px;height:48px;border-radius:8px}
.woi-f-skel div{flex:1;display:flex;flex-direction:column;gap:8px}
.woi-f-skel i{display:block;height:11px;border-radius:6px;width:70%}
.woi-f-skel i+i{width:45%}
.woi-f-skel span,.woi-f-skel i{background:linear-gradient(90deg,#eee 25%,#f7f7f7 50%,#eee 75%);background-size:200% 100%;animation:woi-f-shimmer 1.1s linear infinite}
@keyframes woi-f-shimmer{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.woi-f-skel span,.woi-f-skel i{animation:none}}

@media (max-width:640px){
	.woi-finder{max-height:65vh}
	.woi-f-thumb{flex-basis:40px;width:40px;height:40px}
	.woi-f-txt b{font-size:15px}
}

/* ==========================================================================
   Results page — /find/?q=
   ========================================================================== */

.woi-serp-banner .h-search{margin-top:22px;max-width:720px}
.woi-serp-banner .h-search input[type=search]{height:58px}
.woi-serp-banner .h-search button{background:var(--red,#d6202f)}
.woi-serp-banner .h-search button:hover{background:var(--red-dark,#a9131f)}
.woi-serp-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font:600 16px var(--head,inherit);color:rgba(255,255,255,.8)}
.woi-serp-filter{background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:3px 12px;font-size:14px}

/* Type tabs */
.woi-serp-tabs{background:#fff;border-bottom:1px solid var(--line,#dedede);position:sticky;top:0;z-index:20}
.woi-serp-tabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.woi-serp-tabs .wrap::-webkit-scrollbar{display:none}
.woi-serp-tabs a{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:16px 14px 13px;border-bottom:3px solid transparent;
	font:600 16px var(--head,inherit);color:var(--muted,#5d5d5d);white-space:nowrap}
.woi-serp-tabs a span{background:var(--bg,#f2f2f0);border-radius:999px;padding:1px 9px;font-size:13px;color:var(--ink,#1d1d1d)}
.woi-serp-tabs a:hover{color:var(--ink,#1d1d1d)}
.woi-serp-tabs a[aria-current]{color:var(--red,#d6202f);border-bottom-color:var(--red,#d6202f)}
.woi-serp-tabs a[aria-current] span{background:var(--red,#d6202f);color:#fff}

/* Groups */
.woi-serp-group{margin-bottom:clamp(32px,4vw,56px)}
.woi-serp-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;border-bottom:2px solid var(--ink,#1d1d1d);padding-bottom:10px}
.woi-serp-head h2{font:700 clamp(22px,2.2vw,30px)/1.1 var(--head,inherit)}
.woi-serp-head h2 span{font-size:.6em;color:var(--muted,#5d5d5d);font-weight:600;margin-left:6px;vertical-align:middle}
.woi-serp-viewall,.woi-serp-ext{display:inline-flex;align-items:center;gap:6px;font:600 16px var(--head,inherit);color:var(--red,#d6202f);white-space:nowrap}
.woi-serp-viewall:hover,.woi-serp-ext:hover{text-decoration:underline}
.woi-serp-ext{margin-top:14px}
.woi-serp-msg{color:var(--muted,#5d5d5d);font-size:17px}
.woi-serp mark{background:none;color:var(--red,#d6202f)}

/* Event rows */
.woi-serp-evlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.woi-serp-evlist a{display:flex;align-items:center;gap:16px;background:#fff;padding:12px 16px 12px 12px;border-left:4px solid var(--teal,#0b5d7a);transition:box-shadow .15s}
.woi-serp-evlist a:hover{box-shadow:0 8px 24px -10px rgba(0,0,0,.3)}
.woi-serp-date{flex:0 0 64px;display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--teal,#0b5d7a);font-family:var(--head,inherit)}
.woi-serp-date b{font-size:30px;font-weight:700;margin:3px 0}
.woi-serp-date small{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.woi-serp-ethumb{flex:0 0 96px;width:96px;height:64px;object-fit:cover}
.woi-serp-etxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.woi-serp-etxt b{font:600 19px/1.25 var(--head,inherit)}
.woi-serp-etxt small{font-size:15px;color:var(--muted,#5d5d5d)}
.woi-serp-badge{font-style:normal;font:600 13px var(--head,inherit);background:#1f7a3a;color:#fff;border-radius:999px;padding:3px 11px;white-space:nowrap}

/* Category tiles */
.woi-serp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.woi-serp-cats a{display:flex;align-items:center;gap:14px;background:#fff;padding:14px 16px;border:1px solid var(--line,#dedede);transition:border-color .15s}
.woi-serp-cats a:hover{border-color:var(--red,#d6202f)}
.woi-serp-ico{flex:0 0 44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--red,#d6202f);background:color-mix(in srgb,var(--red,#d6202f) 10%,#fff)}
.woi-serp-cats b{display:block;font:600 18px/1.2 var(--head,inherit)}
.woi-serp-cats small{font-size:14px;color:var(--muted,#5d5d5d)}

/* Cards (places, guides) */
.woi-serp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.woi-serp-card{display:flex;flex-direction:column;background:#fff;border-top:4px solid var(--red,#d6202f);transition:transform .15s,box-shadow .15s}
.woi-serp-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(0,0,0,.35)}
.woi-serp-places .woi-serp-card{border-top-color:#1f7a3a}
.woi-serp-media{aspect-ratio:16/9;overflow:hidden;background:#eee}
.woi-serp-media img{width:100%;height:100%;object-fit:cover;display:block}
.woi-serp-media.is-icon{display:grid;place-items:center;color:var(--red,#d6202f);background:color-mix(in srgb,var(--red,#d6202f) 10%,#fff)}
.woi-serp-places .woi-serp-media.is-icon{color:#1f7a3a;background:#e8f4ec}
.woi-serp-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px}
.woi-serp-kind{font:700 12px var(--head,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#5d5d5d)}
.woi-serp-body b{font:600 21px/1.2 var(--head,inherit)}
.woi-serp-body small{font-size:15px;color:var(--muted,#5d5d5d);line-height:1.45}

/* Start / empty / footer */
.woi-serp-start h2,.woi-serp-empty h2{font:700 clamp(22px,2.2vw,30px)/1.15 var(--head,inherit);margin-bottom:16px}
.woi-serp-empty p{margin:0 0 14px;color:var(--muted,#5d5d5d)}
.woi-serp-empty .chips{justify-content:center;margin-bottom:22px}
.woi-serp-alt{margin:8px 0 0;font-size:16px;color:var(--muted,#5d5d5d)}
.woi-serp-alt a{color:var(--red,#d6202f);font-weight:600}
.woi-serp-alt a:hover{text-decoration:underline}

@media (max-width:900px){.woi-serp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
	.woi-serp-grid{grid-template-columns:1fr}
	.woi-serp-ethumb{display:none}
	.woi-serp-badge{display:none}
	.woi-serp-head{flex-wrap:wrap}
}
