/* =========================================================================
   ta-search.css · Widok 11 · Wyszukiwanie
   1) Panel podpowiedzi (.ta-sp, na każdej stronie, otwierany z ikony szukania w nagłówku)
   2) Strona wyników (.ta-shop.ta-shop--search): korzysta z ta-shop.css (pakiet 10), tu tylko różnice.
   Ładowanie: ta-tokens → ta-product-card → (ta-shop) → ta-search. Progi: telefon < 700 · tablet 700-1199 · desktop ≥ 1200.
   ========================================================================= */

/* 1. Panel */
.ta-sp { position: fixed; inset: var(--ta-sp-top, 0px) 0 0; z-index: 1000; container: ta-sp / inline-size; font-family: var(--ta-font); color: var(--ta-ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.ta-sp *, .ta-sp *::before, .ta-sp *::after { box-sizing: border-box; }
.ta-sp p { margin: 0; }
.ta-sp svg { display: block; flex: none; }
.ta-sp[hidden], .ta-sp [hidden] { display: none !important; } /* wyjątek: [hidden] musi wygrać z display:flex/grid */
.ta-sp .ta-sp__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ta-sp a:focus-visible, .ta-sp button:focus-visible, .ta-sp input:focus-visible { outline: 2px solid var(--ta-green); outline-offset: 2px; }
.ta-sp .ta-sp__backdrop { position: absolute; inset: 0; background: color-mix(in srgb, var(--ta-ink) 35%, transparent); }
.ta-sp .ta-sp__box { position: relative; display: flex; flex-direction: column; gap: 18px; max-height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 16px 16px 20px; border-top: 1px solid var(--ta-line); background: var(--ta-cream); box-shadow: 0 24px 40px rgba(24, 28, 22, .18); }
.ta-sp .ta-sp__form { display: flex; align-items: center; gap: 8px; margin: 0; }
.ta-sp .ta-sp__field { position: relative; flex: 1; min-width: 0; margin: 0; }
.ta-sp .ta-sp__icon { position: absolute; top: 15px; left: 14px; width: 18px; height: 18px; fill: none; stroke: var(--ta-ink); stroke-width: 1.6; pointer-events: none; }
.ta-sp .ta-sp__input {
  -webkit-appearance: none; appearance: none; width: 100%; height: 48px; min-height: 0; margin: 0; padding: 0 14px 0 42px;
  border: 1px solid var(--ta-ink); border-radius: var(--ta-radius-sm); background: var(--ta-white); box-shadow: none;
  font: 400 15px/1.2 var(--ta-font); color: var(--ta-ink); outline: none; caret-color: var(--ta-green);
}
.ta-sp .ta-sp__input::-webkit-search-cancel-button { display: none; }
.ta-sp .ta-sp__hint { display: none; }
.ta-sp .ta-sp__close { flex: none; height: 48px; min-height: 0; margin: 0; padding: 0 12px; border: 0; background: none; box-shadow: none; color: var(--ta-green); font: 500 13px/1 var(--ta-font); letter-spacing: 0; text-transform: none; cursor: pointer; }
.ta-sp .ta-sp__close-d { display: none; }
.ta-sp .ta-sp__title { display: block; margin-bottom: 6px; font: 500 11.5px/1.5 var(--ta-font); letter-spacing: .14em; text-transform: uppercase; color: var(--ta-ink-muted); }
.ta-sp .ta-sp__popular .ta-sp__title { margin-bottom: 10px; }
.ta-sp .ta-sp__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ta-sp .ta-sp__chip, .ta-shop--search .ta-srch__chip {
  display: inline-flex; align-items: center; height: 36px; padding: 0 12px; border: 1px solid var(--ta-line); border-radius: 18px; background: var(--ta-white);
  color: var(--ta-ink); font: 400 13px/1 var(--ta-font); text-decoration: none; white-space: nowrap; transition: border-color .2s ease, color .2s ease;
}
.ta-sp .ta-sp__chip:hover, .ta-shop--search .ta-srch__chip:hover { border-color: var(--ta-rust); color: var(--ta-rust); }
.ta-sp .ta-sp__rows { display: flex; flex-direction: column; gap: 4px; }
.ta-sp .ta-sp__row { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid var(--ta-line); color: var(--ta-ink); text-decoration: none; transition: background-color .2s ease; }
.ta-sp .ta-sp__thumb { position: relative; flex: 0 0 56px; height: 56px; overflow: hidden; border-radius: var(--ta-radius-sm); background: var(--ta-thumb); }
.ta-sp .ta-sp__thumb img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.ta-sp .ta-sp__row-body { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.ta-sp .ta-sp__name { font: 500 13.5px/1.35 var(--ta-font); color: var(--ta-ink); }
.ta-sp .ta-sp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; font: 600 13.5px/1.5 var(--ta-font); color: var(--ta-rust); }
.ta-sp .ta-sp__price del { font: 400 12px/1.5 var(--ta-font); color: var(--ta-ink-faint); }
.ta-sp .ta-sp__price ins { text-decoration: none; }
.ta-sp .ta-sp__price .amount { color: inherit; font: inherit; }
.ta-sp .ta-sp__live, .ta-sp .ta-sp__col { display: flex; flex-direction: column; gap: 18px; }
.ta-sp .ta-sp__group { display: flex; flex-direction: column; }
.ta-sp .ta-sp__sug { display: flex; align-items: center; gap: 10px; min-height: 44px; border-top: 1px solid var(--ta-line); color: var(--ta-ink); font: 400 15px/1.4 var(--ta-font); text-decoration: none; transition: background-color .2s ease; }
.ta-sp .ta-sp__sug svg { width: 14px; height: 14px; fill: none; stroke: var(--ta-ink-faint); stroke-width: 1.8; }
.ta-sp .ta-sp__sug strong { font-weight: 600; }
.ta-sp .ta-sp__sug--cat { justify-content: space-between; }
.ta-sp .ta-sp__n { font: 400 13px/1.5 var(--ta-font); color: var(--ta-ink-muted); font-variant-numeric: tabular-nums; }
.ta-sp .ta-sp__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.ta-sp .ta-sp__all { display: none; }
.ta-sp .ta-sp__all-btn { display: flex; align-items: center; justify-content: center; height: 48px; border: 1px solid var(--ta-green); border-radius: var(--ta-radius-sm); background: var(--ta-white); color: var(--ta-green); font: 500 13px/1 var(--ta-font); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.ta-sp .ta-sp__none { font: 400 14px/1.6 var(--ta-font); color: var(--ta-ink-muted); }
html.ta-sp-open, html.ta-sp-open body { overflow: hidden; }

@container ta-sp (min-width: 1200px) {
  .ta-sp .ta-sp__box { gap: 0; padding: 26px max(40px, calc((100% - 1360px) / 2)) 28px; background: var(--ta-white); box-shadow: 0 30px 50px rgba(46, 58, 43, .12); }
  .ta-sp .ta-sp__form { gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--ta-border); }
  .ta-sp .ta-sp__icon { top: 50%; left: 0; width: 20px; height: 20px; margin-top: -10px; stroke: var(--ta-ink-faint); stroke-width: 1.4; }
  .ta-sp .ta-sp__input { height: 33px; padding: 0 0 0 34px; border: 0; background: none; font: 300 22px/1.5 var(--ta-font); }
  .ta-sp .ta-sp__hint { display: inline; font: 400 13px/1.5 var(--ta-font); color: var(--ta-ink-faint); white-space: nowrap; }
  .ta-sp .ta-sp__close { height: auto; padding: 0; color: var(--ta-ink-muted); font: 400 13px/1.5 var(--ta-font); white-space: nowrap; }
  .ta-sp .ta-sp__close-d { display: inline; }
  .ta-sp .ta-sp__close-m { display: none; }
  .ta-sp .ta-sp__title { font: 600 14px/1.5 var(--ta-font); letter-spacing: 0; text-transform: none; color: var(--ta-ink); }
  .ta-sp .ta-sp__popular { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 20px; }
  .ta-sp .ta-sp__popular .ta-sp__title { margin: 0 8px 0 0; }
  .ta-sp .ta-sp__chips { display: contents; }
  .ta-sp .ta-sp__chip { padding: 0 16px; background: var(--ta-cream); font-size: 14px; }
  .ta-sp .ta-sp__best { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--ta-beige); }
  .ta-sp .ta-sp__best .ta-sp__title { margin-bottom: 14px; }
  .ta-sp .ta-sp__best .ta-sp__rows { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .ta-sp .ta-sp__row { gap: 14px; padding: 8px; border: 0; border-radius: var(--ta-radius-md); }
  .ta-sp .ta-sp__row:hover { background: var(--ta-cream); }
  .ta-sp .ta-sp__thumb { flex-basis: 72px; height: 72px; }
  .ta-sp .ta-sp__name { display: -webkit-box; overflow: hidden; font-size: 14px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .ta-sp .ta-sp__price { font-size: 14px; }
  .ta-sp .ta-sp__live { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 48px; margin-top: 22px; }
  .ta-sp .ta-sp__col { gap: 22px; }
  .ta-sp .ta-sp__sug { min-height: 40px; margin: 0 -8px; padding: 0 8px; border: 0; border-radius: var(--ta-radius-sm); }
  .ta-sp .ta-sp__sug:hover, .ta-sp .ta-sp__sug:focus-visible { background: var(--ta-cream); }
  .ta-sp .ta-sp__sug span:first-of-type { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ta-sp .ta-sp__head { margin-bottom: 6px; }
  .ta-sp .ta-sp__head .ta-sp__title { margin: 0; }
  .ta-sp .ta-sp__all {
    display: inline-flex; align-items: center; gap: 6px; padding-bottom: 3px; color: var(--ta-green); font: 500 14px/1.5 var(--ta-font); text-decoration: none;
    background-image: linear-gradient(var(--ta-rust), var(--ta-rust)); background-repeat: no-repeat; background-position: left bottom; background-size: 100% 1px;
    transition: background-size .35s var(--ta-ease), color .2s ease;
  }
  .ta-sp .ta-sp__all:hover { color: var(--ta-rust); background-size: 100% 2px; }
  .ta-sp .ta-sp__all svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
  .ta-sp .ta-sp__products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; margin: 0 -8px; }
  .ta-sp .ta-sp__all-btn { display: none; }
  .ta-sp .ta-sp__none { margin-top: 22px; font-size: 15px; }
}

/* 2. Strona wyników */
.ta-shop--search .ta-shop__bar { position: static; }
.ta-shop--search .ta-shop__count { display: block; flex: 1; order: 0; min-width: 0; padding: 0; line-height: 1.4; white-space: normal; }
.ta-shop--search .ta-shop__sort, .ta-shop--search .ta-shop__select { flex: none; }
.ta-shop--search .ta-shop__sort { order: 1; }
.ta-shop--search .ta-shop__select select { width: auto; }
.ta-shop--search .ta-shop__main { padding-bottom: 56px; }
.ta-shop--search .ta-srch__form { display: flex; gap: 8px; margin: 16px 0 0; }
.ta-shop--search .ta-srch__field { position: relative; flex: 1; min-width: 0; margin: 0; font-weight: 400; }
.ta-shop--search .ta-srch__field > svg { position: absolute; top: 15px; left: 14px; width: 18px; height: 18px; fill: none; stroke: var(--ta-ink); stroke-width: 1.6; pointer-events: none; }
.ta-shop--search .ta-srch__input {
  -webkit-appearance: none; appearance: none; width: 100%; height: 48px; min-height: 0; margin: 0; padding: 0 44px 0 42px; border: 1px solid var(--ta-border); border-radius: var(--ta-radius-sm);
  background: var(--ta-white); box-shadow: none; font: 400 15px/1.2 var(--ta-font); color: var(--ta-ink); outline: none; caret-color: var(--ta-green); transition: border-color .2s ease;
}
.ta-shop--search .ta-srch__input:focus { border-color: var(--ta-ink); }
.ta-shop--search .ta-srch__input::-webkit-search-cancel-button { display: none; }
.ta-shop--search .ta-srch__clear { position: absolute; top: 2px; right: 2px; width: 44px; height: 44px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: none; box-shadow: none; color: var(--ta-ink-muted); font: 300 24px/1 var(--ta-font); cursor: pointer; }
.ta-shop--search .ta-srch__clear:hover { color: var(--ta-ink); }
.ta-shop--search .ta-srch__submit {
  display: flex; flex: 0 0 48px; align-items: center; justify-content: center; height: 48px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: var(--ta-radius-sm);
  background: var(--ta-green); color: var(--ta-white); box-shadow: none; font: 500 13px/1 var(--ta-font); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background-color .2s ease;
}
.ta-shop--search .ta-srch__submit:hover { background: var(--ta-green-hover); }
.ta-shop--search .ta-srch__submit svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.ta-shop--search .ta-srch__submit-txt, .ta-shop--search .ta-srch__chips-label { display: none; }
.ta-shop--search .ta-srch__none { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 20px 16px 0; padding: 28px 20px; border: 1px dashed var(--ta-border); border-radius: var(--ta-radius-md); text-align: center; }
.ta-shop--search .ta-srch__none-title { margin: 0; font: 300 24px/1.25 var(--ta-font); letter-spacing: 0; text-transform: none; color: var(--ta-ink); text-wrap: balance; }
.ta-shop--search .ta-srch__none-text { max-width: 420px; font: 400 14px/1.6 var(--ta-font); color: var(--ta-ink-muted); text-wrap: pretty; }
.ta-shop--search .ta-srch__chips { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; }
.ta-shop--search .ta-srch__best-title { margin: 40px 16px 0; font: 300 24px/1.2 var(--ta-font); letter-spacing: -.01em; text-transform: none; color: var(--ta-ink); }

@container ta-shop (min-width: 700px) {
  .ta-shop--search .ta-srch__none { margin: 20px 32px 0; }
  .ta-shop--search .ta-srch__best-title { margin: 40px 32px 0; font-size: 30px; }
}
@container ta-shop (min-width: 1200px) {
  .ta-shop--search .ta-shop__count { font-size: 16px; line-height: 1.5; }
  .ta-shop--search .ta-shop__main { max-width: 1440px; margin: 0 auto; padding: 32px 40px 96px; }
  .ta-shop--search .ta-shop__grid, .ta-shop--search[data-cols] .ta-shop__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .ta-shop--search .ta-srch__form { gap: 12px; max-width: 820px; margin-top: 24px; }
  .ta-shop--search .ta-srch__field > svg { top: 22px; left: 20px; width: 20px; height: 20px; stroke-width: 1.5; }
  .ta-shop--search .ta-srch__input { height: 64px; padding: 0 56px; font: 300 22px/1.2 var(--ta-font); }
  .ta-shop--search .ta-srch__clear { top: 10px; right: 10px; font-size: 26px; }
  .ta-shop--search .ta-srch__submit { flex: none; height: 64px; padding: 0 36px; }
  .ta-shop--search .ta-srch__submit svg { display: none; }
  .ta-shop--search .ta-srch__submit-txt, .ta-shop--search .ta-srch__chips-label { display: inline; }
  .ta-shop--search .ta-srch__none { gap: 14px; margin: 0; padding: 56px 40px; border: 0; background: var(--ta-beige); }
  .ta-shop--search .ta-srch__none-title { font-size: 30px; line-height: 1.3; }
  .ta-shop--search .ta-srch__none-text { max-width: 520px; font-size: 15px; }
  .ta-shop--search .ta-srch__chips { gap: 10px 12px; margin-top: 10px; }
  .ta-shop--search .ta-srch__chips-label { margin-right: 4px; font: 600 14px/1.5 var(--ta-font); color: var(--ta-ink); }
  .ta-shop--search .ta-srch__chip { padding: 0 16px; font-size: 14px; }
  .ta-shop--search .ta-srch__best-title { margin: 64px 0 0; font-size: 32px; }
  .ta-shop--search .ta-srch__best { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) { .ta-sp *, .ta-shop--search * { transition: none !important; } }

/* Integracja z motywem i zatwierdzonym akcentem sklepu. */
.ta-sp, .ta-shop--search { --ta-rust: var(--c-terracotta, #AE5330); --ta-ink-faint: var(--ta-placeholder, #757575); }
.ta-sp { height: var(--ta-sp-height, auto); }
.ta-sp .ta-sp__input::placeholder, .ta-shop--search .ta-srch__input::placeholder { color: var(--ta-placeholder); opacity: 1; }
.ta-sp .ta-sp__status { margin-top: 18px; font: 400 14px/1.6 var(--ta-font); color: var(--ta-ink-muted); }
.ta-sp .ta-sp__input:focus-visible, .ta-shop--search .ta-srch__input:focus-visible { outline: 2px solid var(--ta-green); outline-offset: 2px; }
.ta-shop--search [data-ta-search-sort-submit] { margin: 0; }
.ta-shop--search[data-ta-js] [data-ta-search-sort-submit] { display: none; }
.ta-shop--search [data-ta-shop-more][aria-disabled="true"] { cursor: progress; }
@media (min-width: 1481px) {
  .ta-sp .ta-sp__box { padding-left: max(40px, calc((100% - 1400px) / 2)); padding-right: max(40px, calc((100% - 1400px) / 2)); }
  .ta-shop--search .ta-shop__head, .ta-shop--search .ta-shop__bar, .ta-shop--search .ta-shop__main, .ta-shop--search .ta-shop__crumbs-in { max-width: 1480px; }
}
