/* vnk-search v1 (preview 2026-10-18): instant search overlay. Own file, every class starts with vnk-search- (not vnk-search-row: that is the catalog crumbs block in vnk-ideas3.css). */
.vnk-search-overlay{--vs-gold:#c0a686;--vs-wine:#7a2434;--vs-ink:#1b1512;--vs-brown:#564530;--vs-muted:#7d6748;--vs-line:#e6dccd;--vs-cream:#f7f2ec;--vs-hover:#f8f3ea;
  position:fixed;inset:0;z-index:100000;display:none;background:rgba(27,21,18,.45);font-family:"Montserrat",Arial,sans-serif;color:var(--vs-ink);-webkit-font-smoothing:antialiased}
.vnk-search-overlay.is-open{display:block}
html.vnk-search-lock,html.vnk-search-lock body{overflow:hidden}
.vnk-search-sheet{position:relative;background:#fff;max-height:min(86vh,760px);display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(27,21,18,.25);animation:vnk-search-in .16s ease-out}
@keyframes vnk-search-in{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}
.vnk-search-bar{display:flex;align-items:center;gap:12px;max-width:1180px;width:100%;margin:0 auto;padding:22px 24px 14px;box-sizing:border-box}
.vnk-search-ico{flex:none;width:22px;height:22px;fill:none;stroke:var(--vs-gold);stroke-width:1.8;stroke-linecap:round}
.vnk-search-overlay input.vnk-search-input,.vnk-search-overlay input.vnk-search-input:focus{box-shadow:none!important;outline:none!important;height:auto;margin:0}
.vnk-search-input{flex:1;min-width:0;border:0!important;border-bottom:1px solid var(--vs-gold)!important;border-radius:0;padding:10px 2px;font:400 20px/1.3 "Montserrat",Arial,sans-serif;color:var(--vs-ink);background:transparent;outline:none;-webkit-appearance:none;appearance:none}
.vnk-search-input::placeholder{color:#a7998a}
.vnk-search-input::-webkit-search-cancel-button{display:none}
.vnk-search-overlay .vnk-search-input:focus{border-bottom-color:var(--vs-wine)!important}
.vnk-search-clear{flex:none;border:0;background:var(--vs-cream);color:var(--vs-brown);width:30px;height:30px;border-radius:50%;font-size:20px;line-height:28px;cursor:pointer}
.vnk-search-close{flex:none;border:0;background:none;color:var(--vs-muted);font:500 12px/1 "Montserrat",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:10px 4px}
.vnk-search-close:hover,.vnk-search-close:focus-visible{color:var(--vs-wine)}
.vnk-search-body{overflow:auto;-webkit-overflow-scrolling:touch;max-width:1180px;width:100%;margin:0 auto;padding:4px 24px 20px;box-sizing:border-box;overscroll-behavior:contain}
.vnk-search-h{font:600 11px/1.2 "Montserrat",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--vs-muted);margin:14px 0 8px}
.vnk-search-h span{color:var(--vs-gold);margin-left:4px}
.vnk-search-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}
.vnk-search-cols>:only-child{grid-column:1/-1}
.vnk-search-wines,.vnk-search-group{list-style:none;margin:0;padding:0}
.vnk-search-opt{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;border-radius:6px;outline:none}
.vnk-search-opt.is-active,.vnk-search-opt:focus-visible{background:var(--vs-hover);box-shadow:inset 3px 0 0 var(--vs-gold)}
.vnk-search-wine{padding:8px 10px;min-height:64px}
.vnk-search-img{flex:none;width:36px;height:56px;display:flex;align-items:center;justify-content:center}
.vnk-search-img img{max-width:36px;max-height:56px;object-fit:contain}
.vnk-search-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.vnk-search-name{font-size:14px;line-height:1.35;color:var(--vs-ink)}
.vnk-search-name b,.vnk-search-group b{font-weight:600;color:var(--vs-wine)}
.vnk-search-meta{font-size:12px;line-height:1.3;color:var(--vs-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vnk-search-price{flex:none;text-align:right;font-size:14px;font-weight:500;color:var(--vs-ink);display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.vnk-search-price s{font-size:11px;font-weight:400;color:#a7998a}
.vnk-search-price em{font-style:normal;font-size:11px;font-weight:500;color:var(--vs-wine)}
.vnk-search-group .vnk-search-opt{justify-content:space-between;padding:9px 10px;font-size:14px}
.vnk-search-group i{font-style:normal;color:var(--vs-muted);font-size:12px}
.vnk-search-group small{color:var(--vs-muted);font-size:12px;white-space:nowrap}
.vnk-search-all{justify-content:center;margin-top:12px;padding:13px 10px;border:1px solid var(--vs-gold);border-radius:0;font:500 12px/1 "Montserrat",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-brown)}
.vnk-search-all.is-active,.vnk-search-all:hover{background:var(--vs-gold);color:#fff;box-shadow:none}
.vnk-search-chips{display:flex;flex-wrap:wrap;gap:8px}
.vnk-search-chip{border:1px solid var(--vs-line);background:#fff;color:var(--vs-brown);border-radius:999px;padding:8px 14px;font:400 13px/1 "Montserrat",Arial,sans-serif;cursor:pointer}
.vnk-search-chip:hover,.vnk-search-chip:focus-visible{border-color:var(--vs-gold);background:var(--vs-hover);outline:none}
.vnk-search-chip.is-recent{background:var(--vs-cream)}
.vnk-search-empty{padding:18px 2px 4px;font-size:14px;color:var(--vs-brown)}
.vnk-search-debug{position:absolute;right:24px;bottom:6px;font:11px/1 Menlo,monospace;color:#a7998a}
/* phone loupe in the header (≤991px), placed before the cart */
.vnk-search-mbtn{display:none}
@media (max-width:991px){
  .vnk-search-mbtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:6px;background:none;border:0;padding:0;cursor:pointer}
  .vnk-search-mbtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
  .vnk-search-overlay{background:#fff}
  .vnk-search-sheet{max-height:none;height:100%;box-shadow:none;animation:none}
  .vnk-search-bar{padding:10px 12px 8px 16px;gap:8px;border-bottom:1px solid var(--vs-line)}
  .vnk-search-overlay .vnk-search-input,.vnk-search-overlay .vnk-search-input:focus{font-size:16px;border-bottom:0!important;padding:10px 0}
  .vnk-search-ico{width:20px;height:20px}
  .vnk-search-body{padding:0 16px calc(24px + env(safe-area-inset-bottom));flex:1}
  .vnk-search-cols{display:block}
  .vnk-search-wine{padding:8px 4px;gap:12px}
  .vnk-search-name{font-size:14px}
  .vnk-search-meta{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .vnk-search-price{font-size:13px}
  .vnk-search-group .vnk-search-opt{padding:10px 4px}
  .vnk-search-debug{position:static;text-align:right;padding:6px 16px 0}
}
@media (prefers-reduced-motion:reduce){.vnk-search-sheet{animation:none}}
