/* GreenTouch — overlay de căutare live. Design coerent: crem/alb, verde, radius, umbre discrete. */

.gt-search{position:fixed;inset:0;z-index:100000;display:none}
.gt-search.on{display:block}
.gt-search-backdrop{position:absolute;inset:0;background:rgba(29,32,25,.42);backdrop-filter:blur(2px);animation:gtSearchFade .18s ease}
.gt-search-panel{position:absolute;left:50%;top:clamp(56px,9vh,96px);transform:translateX(-50%);width:min(760px,calc(100vw - 32px));max-height:min(76vh,640px);display:flex;flex-direction:column;background:var(--cream,#f6f2e9);border-radius:22px;box-shadow:0 30px 80px rgba(29,32,25,.28);overflow:hidden;animation:gtSearchPop .2s cubic-bezier(.2,.8,.3,1)}

.gt-search-bar{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 18px;background:#fff;border-bottom:1px solid rgba(29,32,25,.08)}
.gt-search-ico{font-size:20px;color:var(--green-700,#3f6b3f);flex:0 0 auto}
.gt-search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:500 16.5px var(--font-ui,sans-serif);color:var(--ink,#1d2019)}
.gt-search-input::placeholder{color:var(--ink-50,#8a8f80)}
.gt-search-x{flex:0 0 auto;width:38px;height:38px;border:none;background:var(--green-pale,#e7ede2);color:var(--green-900,#20301c);border-radius:11px;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gt-search-x:hover{background:#dbe4d3}
.gt-search-x:focus-visible,.gt-search-input:focus-visible{outline:2px solid var(--green-600,#3f6b3f);outline-offset:2px}

.gt-search-results{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 10px 12px}
.gt-search-hint,.gt-search-empty,.gt-search-error{padding:22px 14px;text-align:center;font:500 14.5px var(--font-ui,sans-serif);color:var(--ink-50,#8a8f80)}
.gt-search-loading{padding:20px 14px;text-align:center;font:500 14px var(--font-ui,sans-serif);color:var(--ink-50,#8a8f80)}
.gt-search-spin{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid rgba(63,107,63,.25);border-top-color:var(--green-600,#3f6b3f);border-radius:50%;vertical-align:-3px;animation:gtSearchSpin .7s linear infinite}

.gt-search-group{margin:10px 6px 4px}
.gt-search-group-t{font:700 11.5px var(--font-ui,sans-serif);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-50,#8a8f80);padding:0 8px 6px}

.gt-search-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:14px;text-decoration:none;color:var(--ink,#1d2019);transition:background .12s ease}
.gt-search-item:hover,.gt-search-item.is-active{background:#fff}
.gt-search-item:focus-visible{outline:2px solid var(--green-600,#3f6b3f);outline-offset:-2px}
.gt-search-thumb{flex:0 0 auto;width:48px;height:48px;border-radius:11px;background:var(--green-pale,#e7ede2) center/cover no-repeat;position:relative}
.gt-search-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.gt-search-title{font:600 14.5px var(--font-ui,sans-serif);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-search-sub{font:500 12.5px var(--font-ui,sans-serif);color:var(--ink-50,#8a8f80);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-search-tag{display:inline-block;background:var(--green-pale,#e7ede2);color:var(--green-900,#20301c);border-radius:999px;padding:2px 9px;font:600 11px var(--font-ui,sans-serif);margin-right:6px}
.gt-search-price{flex:0 0 auto;font:700 13.5px var(--font-display,serif);color:var(--green-900,#20301c);white-space:nowrap}
.gt-search-instock{font:600 11px var(--font-ui,sans-serif);color:var(--green-600,#3f6b3f)}

.gt-search-all{display:block;text-align:center;margin:8px 6px 2px;padding:11px;border-radius:12px;background:var(--green-pale,#e7ede2);color:var(--green-900,#20301c);font:700 13.5px var(--font-ui,sans-serif);text-decoration:none}
.gt-search-all:hover{background:#dbe4d3}

@media (max-width:600px){
	.gt-search-panel{top:0;left:0;transform:none;width:100vw;max-height:100dvh;height:100dvh;border-radius:0}
	.gt-search-bar{padding:16px}
	.gt-search-input{font-size:16px} /* evită zoom iOS */
	.gt-search-results{padding:8px 12px calc(20px + env(safe-area-inset-bottom))}
}

@keyframes gtSearchFade{from{opacity:0}to{opacity:1}}
@keyframes gtSearchPop{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes gtSearchSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gt-search-backdrop,.gt-search-panel{animation:none}.gt-search-spin{animation-duration:1.4s}}
@media (max-width:600px){@keyframes gtSearchPop{from{opacity:0}to{opacity:1}}}
