/* panels.css — category browse overlay + unified search overlay */

/* category browse overlay (trigger lives in the header) */
.head-cats{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line-2);background:var(--surface);border-radius:999px;padding:7px 13px;font-weight:600;font-size:13.5px;color:var(--pine-ink);text-decoration:none;white-space:nowrap}
.head-cats:hover{border-color:var(--pine-2)}
.head-cats svg{width:16px;height:16px;color:var(--pine-2)}

.cats{position:fixed;z-index:90;left:50%;top:calc(var(--head-h) + 12px);width:min(680px,calc(100vw - 28px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:18px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .18s,transform .18s,visibility .18s}
.cats.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.cats-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.cats-title{flex:1;font-family:var(--display);font-size:17px;margin:0}
.cats-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--surface-2);color:var(--muted);flex:none}
.cats-back:hover{background:var(--line);color:var(--ink)}
.cats-back svg{width:18px;height:18px}
.cats-back[hidden]{display:none}
.cats-x{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--surface-2);color:var(--muted);flex:none}
.cats-x:hover{background:var(--line);color:var(--ink)}
.cats-x svg{width:16px;height:16px}

.cat-list,.cat-sublist{list-style:none;margin:0;padding:0}
.cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 4px;text-decoration:none;color:var(--pine-ink);font-weight:600;font-size:15px;border-bottom:1px solid var(--line)}
.cat-row:hover{color:var(--pine-2)}
.cat-chev{color:var(--faint);font-size:19px;line-height:1}
.cat-suball{display:block;padding:12px 4px;text-decoration:none;color:var(--pine-ink);font-weight:700;font-size:14.5px;border-bottom:1px solid var(--line)}
.cat-suball:hover{color:var(--pine-2)}
.cats-all{display:inline-block;margin-top:14px;color:var(--coral-ink);font-weight:700;font-size:14px;text-decoration:none}
.cats-all:hover{text-decoration:underline}

/* drill mode (JS on): lists stay as containers; we reveal only the rows of the
   list carrying .current, so a nested deep list still renders (its ancestors
   stay display:block). Works to any depth. */
.cats.drill .cat-row,.cats.drill .cat-suball{display:none}
.cats.drill .cat-list.current > li > .cat-row,
.cats.drill .cat-sublist.current > li > .cat-row{display:flex}
.cats.drill .cat-sublist.current > li > .cat-suball{display:block}
.cats.drill .cat-list:not(.current) ~ .cats-all{display:none}


/* ---- Unified search overlay ("Meklēt") ---- */
/* Header trigger button */
.head-find{display:inline-flex;align-items:center;gap:8px;flex:none;border:none;background:var(--pine);color:#fff;border-radius:999px;padding:9px 16px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s}
.head-find:hover{background:var(--pine-2,#2d5a45)}
.head-find svg{width:17px;height:17px}

/* Full-screen overlay (both desktop and mobile) */
.searchov{position:fixed;inset:0;z-index:120;background:var(--surface);display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.searchov.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.searchov-top{display:flex;align-items:center;gap:8px;padding:16px 20px;flex:none}
.searchov-back{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:50%;background:var(--surface-2);color:var(--muted);flex:none;cursor:pointer}
.searchov-back:hover{background:var(--line);color:var(--ink)}
.searchov-back[hidden]{display:none}
.searchov-back svg{width:19px;height:19px}
.searchov-x{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:50%;background:var(--surface-2);color:var(--muted);flex:none;margin-left:auto;cursor:pointer}
.searchov-x:hover{background:var(--line);color:var(--ink)}
.searchov-x svg{width:18px;height:18px}
.searchov-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:8px 20px max(28px,env(safe-area-inset-bottom))}

/* Shared bottom action bar (Aizvērt / Skatīt) — one bar for all top-level panels. */
.sov-actions{display:flex;gap:10px;flex:none;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.sov-actions button{flex:1;height:50px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:none}
.sov-act-close{background:var(--surface-2);color:var(--pine-ink)}
.sov-act-close:hover{background:var(--line-2)}
.sov-act-go{background:var(--pine);color:#fff}
.sov-act-go:hover{background:var(--pine-2,#2d5a45)}
/* Hide the action bar on the drill screens (cats/loc use select-and-return). */
.searchov[data-screen="cats"] .sov-actions,
.searchov[data-screen="loc"] .sov-actions{display:none}

@media(max-width:980px){
  /* Overlay drops UNDER the sticky tab bar (offset measured by JS into --sov-top),
     fills to the bottom. Tabs stay in the page bar, above the overlay, tappable. */
  .searchov{inset:auto 0 0 0;top:var(--sov-top,0);transform:translateY(8px)}
  .searchov.open{transform:translateY(0)}
  .controls{z-index:130}                     /* tab bar sits above the overlay (z-120) */
  /* Top bar with the close X shows on all screens (full-screen overlay). */
}


/* ---- search overlay: screens + chooser ---- */
.sov-screen{display:none;width:100%;max-width:520px;margin:0 auto;flex-direction:column;align-items:center}
.sov-screen.current{display:flex}


/* ---- search overlay: keyword screen ---- */
.sov-kform{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface);border:1.5px solid var(--line-2);border-radius:14px;padding:0 7px 0 18px;height:54px;margin-bottom:22px;transition:border-color .15s}
.sov-kform:focus-within{border-color:var(--pine)}
.sov-kform>svg{width:19px;height:19px;color:var(--faint);flex:none}
.sov-kform input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:16px;color:var(--ink);padding:0}
.sov-kform input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.sov-kform button[type="submit"]{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:var(--pine);color:#fff;border-radius:10px;cursor:pointer;transition:background .15s}
.sov-kform button[type="submit"]:hover{background:var(--pine-2,#2d5a45)}
.sov-kform button[type="submit"] svg{width:18px;height:18px}
.sov-kform .vmic{width:40px;height:40px;background:none;color:var(--muted);border-radius:999px}
.sov-kform .vmic:hover{color:var(--pine-2);background:var(--surface-2)}
.sov-pop{width:100%}
.sov-pop-h{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.sov-chips{display:flex;flex-wrap:wrap;gap:9px}
.sov-chip{display:inline-block;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:14px;color:var(--pine-ink);text-decoration:none;transition:border-color .15s,background .15s}
.sov-chip:hover{border-color:var(--pine-2,#2d5a45);background:var(--surface)}
/* The overlay's own type-ahead dropdown sits under its input */
#sovKeywords .suggest{left:0;right:0;top:54px}


/* ---- search overlay: voice screen ---- */
.sov-vform{display:flex;flex-direction:column;align-items:center;margin:18px 0 8px}
.sov-mic{position:relative;display:flex;align-items:center;justify-content:center;width:120px;height:120px;border:none;border-radius:50%;background:var(--pine);color:#fff;cursor:pointer;transition:transform .15s,background .15s}
.sov-mic:hover{background:var(--pine-2,#2d5a45)}
.sov-mic svg{width:42px;height:42px;position:relative;z-index:1}
.sov-mic-pulse{position:absolute;inset:0;border-radius:50%;background:var(--pine);opacity:0;z-index:0}
.sov-mic.on{background:var(--coral)}
.sov-mic.on .sov-mic-pulse{animation:sovpulse 1.5s ease-out infinite}
@keyframes sovpulse{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
.sov-vinput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.sov-transcript{min-height:28px;font-size:18px;font-weight:600;color:var(--ink);text-align:center;margin:18px 0 4px}
.sov-vexample{color:var(--faint);font-size:13px;text-align:center;margin:6px 0 0}


/* ---- search overlay: manual / filters screen ---- */
.sov-mform{width:100%;display:flex;flex-direction:column;gap:18px}
.sov-frows{display:flex;flex-direction:column;gap:10px}
.sov-frow{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:15px 16px;cursor:pointer;transition:border-color .15s}
.sov-frow:hover{border-color:var(--pine-2,#2d5a45)}
.sov-frow>svg:first-child{display:none}
.sov-frow-tx{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.sov-frow-tx b{font-size:14.5px;color:var(--ink);font-weight:700}
.sov-frow-tx>span{font-size:13px;color:var(--muted)}
.sov-frow-chev{width:19px;height:19px;color:var(--faint);flex:none}
.sov-frow-price{cursor:default}
.sov-frow-sort{cursor:default}
.sov-frow-sort:hover{border-color:var(--line)}
.sov-sort-sel{flex:none;border:none;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--pine-ink);cursor:pointer;padding:4px 2px}
.sov-frow-price:hover{border-color:var(--line)}
.sov-price-inputs{display:flex;align-items:center;gap:8px;margin-top:6px}
.sov-price-inputs input{width:84px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;outline:none;background:var(--surface)}
.sov-price-inputs input:focus{border-color:var(--pine-2,#2d5a45)}
.sov-price-dash{color:var(--faint)}
.sov-price-eur{color:var(--muted);font-size:14px}
.sov-submit{display:flex;align-items:center;justify-content:center;width:100%;border:none;background:var(--pine);color:#fff;border-radius:14px;padding:16px;font-weight:700;font-size:15px;cursor:pointer;transition:background .15s}
.sov-submit:hover{background:var(--pine-2,#2d5a45)}


/* ---- search overlay: in-overlay category drill ---- */
.sov-catwrap{width:100%}
.sov-cat-any{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:14px 6px;font-size:15px;font-weight:700;color:var(--pine-ink);cursor:pointer}
.sov-cat-any:hover{background:var(--surface-2)}
.sov-cat-list{list-style:none;margin:0;padding:0;width:100%}
.sov-cat-list .cat-item{margin:0}
.sov-cat-list .cat-row,.sov-cat-list .cat-suball{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;padding:14px 6px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:15px;cursor:pointer}
.sov-cat-list .cat-row:hover,.sov-cat-list .cat-suball:hover{background:var(--surface-2)}
.sov-cat-list .cat-chev{color:var(--faint);font-size:18px}
.sov-cat-list .cat-suball{font-weight:600;color:var(--coral-ink)}
/* drill: show only the .current list's direct rows */
.sov-catwrap.drill .cat-row,.sov-catwrap.drill .cat-suball{display:none}
.sov-catwrap.drill .cat-list.current > li > .cat-row,
.sov-catwrap.drill .cat-sublist.current > li > .cat-row{display:flex}
.sov-catwrap.drill .cat-sublist.current > li > .cat-suball{display:block}


/* ---- search overlay: in-overlay location picker ---- */
.sov-locsearch{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface-2);border:1.5px solid transparent;border-radius:999px;padding:0 14px;height:46px;margin-bottom:14px}
.sov-locsearch:focus-within{border-color:var(--pine-2,#2d5a45);background:var(--surface)}
.sov-locsearch svg{width:17px;height:17px;color:var(--faint);flex:none}
.sov-locsearch input{flex:1;min-width:0;border:none;background:none;outline:none;padding:0}
.sov-loclist{width:100%;display:flex;flex-direction:column;max-height:46vh;overflow-y:auto}
.sov-locopt{text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:13px 6px;font-size:15px;color:var(--ink);cursor:pointer}
.sov-locopt:hover{background:var(--surface-2)}
.sov-locopt[data-all]{font-weight:700}
.sov-locnohit{color:var(--muted);font-size:14px;text-align:center;margin-top:16px}


/* ---- overlay: dynamic category facets (manual screen) ---- */
.sov-facets{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.sov-facet{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg,14px);padding:12px 16px}
.sov-facet-lab{font-size:14.5px;color:var(--ink);font-weight:700;flex:none;min-width:90px}
.sov-facet-sel{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--surface);outline:none;cursor:pointer}
.sov-facet-sel:focus{border-color:var(--pine-2,#2d5a45)}

/* Recent searches + show button in the mobile search overlay */
.sov-sec-h{display:block;font-weight:700;font-size:14px;color:var(--pine-ink);margin:18px 0 8px}
.sov-recent-list{display:flex;flex-direction:column}
.sov-recent-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.sov-recent-go{flex:1;display:flex;align-items:center;gap:12px;padding:13px 2px;color:var(--pine-ink);text-decoration:none;min-width:0}
.sov-recent-ic{flex:none;color:var(--faint);display:flex}
.sov-recent-ic svg{width:18px;height:18px}
.sov-recent-tx{flex:1;min-width:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sov-recent-x{flex:none;border:none;background:none;color:var(--faint);cursor:pointer;padding:8px;display:flex}
.sov-recent-x svg{width:16px;height:16px}
.sov-recent-x:hover{color:var(--pine-ink)}
.sov-showbtn{display:block;position:sticky;bottom:0;margin:20px 0 0;padding:16px;text-align:center;background:var(--pine);color:#fff;border-radius:14px;font-weight:700;font-size:15px;text-decoration:none}
.sov-showbtn:hover{background:var(--pine-2,#2d5a45)}

/* Keyword-search mic launcher (opens the voice screen) */
.sovk-mic{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:none;color:var(--pine);border-radius:50%;cursor:pointer;transition:background .15s}
.sovk-mic:hover{background:var(--surface-2)}
.sovk-mic svg{width:20px;height:20px}

/* ---- Full-screen filter overlay: top bar with a close X ---- */
.searchov-top{display:none}   /* only shown on mobile where the overlay is a full sheet */
@media (max-width:980px){
  .searchov-top{
    display:flex;align-items:center;justify-content:space-between;
    padding:0 var(--gutter);height:56px;flex:none;
    border-bottom:1px solid var(--line);background:var(--surface);
  }
  .searchov-title{font-weight:700;font-size:17px;color:var(--pine-ink)}
  .searchov-x{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-8px;border:none;background:none;color:var(--pine-ink);cursor:pointer}
  .searchov-x svg{width:24px;height:24px}
}
