/* Festive instant search + results page blocks. Uses Woodmart colour variables. */
.fs-wrap{position:relative}
.fs-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:400;background:#fff;color:#333;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.16);max-height:min(75vh,640px);overflow:auto;overscroll-behavior:contain;padding:8px 0;min-width:320px;text-align:left}
.fs-panel[hidden]{display:none}
.fs-sec{padding:4px 0}
.fs-sec+.fs-sec{border-top:1px solid #f0f0f0}
.fs-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;padding:6px 14px 4px}
.fs-clear{background:none;border:0;padding:0;font-size:12px;color:var(--wd-primary-color,#d32f2f);cursor:pointer;text-transform:none;letter-spacing:0;min-height:0}
.fs-tags{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 8px}
.fs-tag{display:inline-block;padding:6px 12px;border-radius:16px;background:#f4f4f4;color:#333;font-size:14px;line-height:1.2}
.fs-tag:hover,.fs-tag.fs-act{background:#ececec;color:#000}
.fs-opt{text-decoration:none!important}
.fs-act{outline:2px solid var(--wd-primary-color,#d32f2f);outline-offset:-2px}
.fs-sug{display:flex;align-items:center;gap:10px;padding:8px 14px;color:#333;font-size:15px}
.fs-ico{width:14px;height:14px;border:2px solid #aaa;border-radius:50%;position:relative;flex:0 0 auto}
.fs-ico:after{content:"";position:absolute;width:6px;height:2px;background:#aaa;right:-6px;bottom:-3px;transform:rotate(45deg)}
.fs-sug:hover,.fs-p:hover,.fs-c:hover{background:#f7f7f7}
.fs-dym{padding:8px 14px;font-size:14px;color:#555}
.fs-dym a{color:var(--wd-primary-color,#d32f2f)}
.fs-c{display:flex;align-items:center;gap:12px;padding:8px 14px;color:#222}
.fs-c-imgs{display:grid;grid-template-columns:repeat(4,40px);gap:3px;flex:0 0 auto}
.fs-c-imgs img{width:40px;height:40px;object-fit:cover;border-radius:6px;background:#f4f4f4}
.fs-c-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.fs-c-t b{font-weight:600;font-size:15px}
.fs-c-t small{color:#888;font-size:12px}
.fs-c-n{flex:0 0 auto;font-size:12px;color:#666;background:#f2f2f2;border-radius:10px;padding:2px 8px}
.fs-cgrid .fs-c-imgs{grid-template-columns:repeat(4,32px)}
.fs-cgrid .fs-c-imgs img{width:32px;height:32px}
.fs-p{display:flex;align-items:center;gap:12px;padding:6px 14px;color:#222}
.fs-p img,.fs-noimg{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#f4f4f4;flex:0 0 auto}
.fs-p-t{flex:1;min-width:0;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fs-p-t mark{background:none;color:inherit;font-weight:700;padding:0}
.fs-p-t em{display:block;font-style:normal;font-size:12px;color:#999}
.fs-oos img{opacity:.55}
.fs-p-pr{flex:0 0 auto;text-align:right;font-size:14px;font-weight:600;white-space:nowrap}
.fs-p-pr del{color:#999;font-weight:400;font-size:12px;display:block}
.fs-p-pr ins{text-decoration:none;color:var(--wd-primary-color,#d32f2f)}
.fs-p-pr small{font-weight:400;color:#888}
.fs-none{padding:10px 14px;color:#666;font-size:14px}
.fs-all{display:block;margin:6px 14px 4px;padding:10px;text-align:center;border-radius:8px;background:var(--wd-primary-color,#d32f2f);color:#fff!important;font-weight:600}
.fs-loading{height:120px;background:linear-gradient(90deg,#f6f6f6 25%,#eee 50%,#f6f6f6 75%);background-size:200% 100%;animation:fs-sh 1.2s infinite;margin:8px 14px;border-radius:8px}
@keyframes fs-sh{to{background-position:-200% 0}}
.searchform .fs-back{display:none!important}

/* Mobile: full-screen search */
@media (max-width:767px){
	html.fs-lock,html.fs-lock body{overflow:hidden}
	body>.fs-mobile-open,.fs-mobile-open{position:fixed!important;inset:0!important;z-index:2147483000!important;transform:none!important;background:#fff;padding:10px 10px 0;display:flex!important;flex-direction:column;margin:0!important;max-width:none!important;width:auto!important}
	.fs-mobile-open form{display:flex;align-items:center;gap:6px}
	.fs-mobile-open .searchform .fs-back{display:flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-height:0;margin:0;padding:0;border:0;background:none!important;box-shadow:none;font-size:30px;line-height:1;color:#333!important}
	.fs-mobile-open .searchform{display:flex;align-items:center;gap:6px}
	.fs-mobile-open .searchform input[name="s"]{flex:1}
	.fs-mobile-open input[name="s"]{font-size:16px!important}
	.fs-mobile-open .fs-panel{position:static;box-shadow:none;border-radius:0;max-height:none;flex:1;min-width:0;margin-top:6px;padding-bottom:24px;-webkit-overflow-scrolling:touch}
	.fs-p,.fs-sug,.fs-c{min-height:48px}
	.fs-panel{min-width:0}
	.fs-cats{grid-template-columns:1fr!important}
}

/* Results page */
.fs-results-head{margin:0 0 20px}
.fs-note{margin:0 0 10px;font-size:15px}
.fs-warn{font-weight:600}
.fs-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font-size:14px}
.fs-chip{display:inline-flex;gap:6px;align-items:center;padding:5px 12px;border-radius:16px;background:#f2f2f2;color:#222}
.fs-chip:hover{background:#e6e6e6}
.fs-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:0 0 18px}
.fs-cat{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #eee;border-radius:10px;color:#222;background:#fff;transition:box-shadow .15s}
.fs-cat:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.fs-cat-imgs{display:grid;grid-template-columns:repeat(2,42px);gap:3px;flex:0 0 auto}
.fs-cat-imgs img{width:42px;height:42px;object-fit:cover;border-radius:6px;background:#f4f4f4}
.fs-cat-txt{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}
.fs-cat-txt strong{font-size:16px}
.fs-cat-txt small{color:#888;font-size:12px}
.fs-cat-txt em{font-style:normal;color:#666;font-size:13px}
.fs-cat-go{font-size:24px;color:#bbb}
.fs-results-foot{margin:30px 0 0}
.fs-ask{border:1px solid #eee;border-radius:10px;padding:16px;margin:0 0 20px;background:#fafafa;max-width:760px}
.fs-ask-title{font-weight:700;font-size:17px;margin:0 0 4px}
.fs-ask-text{margin:0 0 12px;color:#555}
.fs-ask label{display:block;font-size:13px;color:#555;margin:0 0 10px}
.fs-ask input[type=text],.fs-ask textarea{display:block;width:100%;margin-top:4px}
.fs-ask-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fs-ask-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fs-ask-status{margin:10px 0 0;font-weight:600}
.fs-ask-done label,.fs-ask-done button{display:none}
@media (max-width:600px){.fs-ask-row{grid-template-columns:1fr}}
/* Mobile panel lives under <body> while open: give the input its own look. */
@media (max-width:767px){
	.fs-mobile-open .searchform{position:relative;flex:0 0 auto;width:100%}
	.fs-mobile-open .searchform input[name="s"]{height:44px;width:100%;border:1px solid #ddd;border-radius:22px;padding:0 96px 0 16px!important;background:#fff;color:#222;box-shadow:none}
	.fs-mobile-open .searchform .searchsubmit{height:44px}
}
/* v1.0.6: clear button, sticky "show all" on mobile, contrast */
.searchform.fs-has-x{position:relative}
.searchform .fs-x{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;right:calc(var(--wd-search-btn-w,46px) + 2px)!important;left:auto!important;width:32px!important;height:32px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#eee!important;color:#555!important;box-shadow:none!important;font-size:20px!important;line-height:1!important;display:flex!important;align-items:center;justify-content:center;z-index:3;cursor:pointer}
.searchform .fs-x[hidden]{display:none!important}
.searchform.fs-has-x input[name="s"]{padding-right:84px!important}
.fs-h,.fs-c-t small,.fs-p-pr small{color:#666}
.fs-p-t em,.fs-p-pr del{color:#707070}
@media (max-width:767px){
	.fs-mobile-open .fs-all{position:sticky;bottom:8px;box-shadow:0 4px 16px rgba(0,0,0,.18);z-index:2}
	.searchform .fs-x{width:40px!important;height:40px!important}
	.searchform.fs-has-x input[name="s"]{padding-right:92px!important}
	.fs-tag{padding:9px 14px}
}
@media (prefers-reduced-motion:reduce){.fs-loading{animation:none}}
