/* Cleanbot — поиск: кнопка и поле в шапке (все страницы, область .cleanbot-shell)
   и страница результатов search.php (область .cleanbot-redesign).
   Токены цвета, радиусы и тени — из redesign-shell.css. */

/* ============================================================
   Поиск в шапке
   ============================================================ */
.cleanbot-shell .hsearch{ margin-left:auto; flex:none; }
/* телефон прижат вправо своим margin-left:auto — после поиска он не нужен */
.cleanbot-shell .hsearch + .hdr__phone{ margin-left:0; }
.cleanbot-shell .hsearch__toggle{
  display:grid; place-items:center;
  width:44px; height:44px; padding:0;
  border-radius:50%;
  color:rgba(255,255,255,.70);
  transition:color .2s var(--ease), background .2s var(--ease);
}
.cleanbot-shell .hsearch__toggle:hover,
.cleanbot-shell .hsearch.is-open .hsearch__toggle{ color:#fff; background:rgba(255,255,255,.08); }

.cleanbot-shell .hsearch__panel{
  position:absolute; top:calc(100% + 8px); right:0; z-index:95;
  width:min(560px, 100%);
  padding:10px;
  background:#fff; color:var(--text);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-2);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility 0s linear .2s;
}
/* visibility без задержки: поле должно получить фокус сразу по клику */
.cleanbot-shell .hsearch.is-open .hsearch__panel{ opacity:1; visibility:visible; transform:none; transition-delay:0s; }

.cleanbot-shell .hsearch__form{ position:relative; display:flex; align-items:center; margin:0; }
.cleanbot-shell .hsearch__icon{ position:absolute; left:18px; color:var(--text-3); pointer-events:none; }
.cleanbot-shell .hsearch__input{
  -webkit-appearance:none; appearance:none;
  width:100%; height:52px; margin:0;
  padding:0 102px 0 46px;
  border:1px solid var(--line); border-radius:999px;
  background:var(--surface); color:var(--text);
  font:inherit; font-size:16px; line-height:normal;   /* 16px — iOS не увеличивает страницу */
  box-shadow:none; outline:none;
  transition:border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
}
.cleanbot-shell .hsearch__input::placeholder{ color:var(--text-3); opacity:1; }
/* своя рамка фокуса вместо общей обводки :focus-visible из шапки */
.cleanbot-shell .hsearch__input:focus,
.cleanbot-shell .hsearch__input:focus-visible{ outline:none; border-color:var(--acc); background:#fff; box-shadow:0 0 0 3px var(--acc-tint-2); }
.cleanbot-shell .hsearch__input::-webkit-search-cancel-button{ -webkit-appearance:none; display:none; }
.cleanbot-shell .hsearch__close,
.cleanbot-shell .hsearch__submit{
  position:absolute; top:4px;
  display:grid; place-items:center;
  width:44px; height:44px; padding:0;
  border-radius:50%;
  transition:background .2s var(--ease), color .2s var(--ease);
}
.cleanbot-shell .hsearch__close{ right:50px; color:var(--text-2); }
.cleanbot-shell .hsearch__close:hover{ background:var(--surface-2); color:var(--text); }
.cleanbot-shell .hsearch__submit{ right:4px; background:var(--acc); color:#fff; }
.cleanbot-shell .hsearch__submit:hover{ background:var(--acc-press); }

.cleanbot-shell .hsearch__drop{
  margin-top:8px;
  max-height:min(62vh, 540px); overflow-y:auto; overscroll-behavior:contain;
}
.cleanbot-shell .hsearch__drop[hidden]{ display:none; }
.cleanbot-shell .hsearch__item{
  display:flex; align-items:center; gap:14px;
  padding:8px 10px; border-radius:12px;
  color:var(--text);
  transition:background .15s var(--ease);
}
.cleanbot-shell .hsearch__item:hover,
.cleanbot-shell .hsearch__item.is-active{ background:var(--acc-tint); }
.cleanbot-shell .hsearch__thumb{
  flex:none; display:grid; place-items:center;
  width:52px; height:52px; overflow:hidden;
  border-radius:10px; background:var(--surface);
  color:var(--text-3);
}
.cleanbot-shell .hsearch__thumb img{ width:100%; height:100%; object-fit:contain; }
.cleanbot-shell .hsearch__body{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.cleanbot-shell .hsearch__name{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  font-size:15px; font-weight:600; line-height:1.3; letter-spacing:-.01em;
}
.cleanbot-shell .hsearch__meta{ font-size:13.5px; line-height:1.3; color:var(--text-3); }
.cleanbot-shell .hsearch__price{ font-size:14.5px; font-weight:600; color:var(--text); font-variant-numeric:tabular-nums; }
.cleanbot-shell .hsearch__item--all{
  justify-content:center; gap:8px;
  margin-top:4px; min-height:46px;
  font-size:14.5px; font-weight:600; color:var(--acc-press);
}
.cleanbot-shell .hsearch__none{ margin:0; padding:14px 12px; font-size:15px; color:var(--text-2); }
.cleanbot-shell .hsearch__sr{
  position:absolute !important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

@media (max-width:900px){
  /* логотип прижат влево, поиск — вплотную к бургеру */
  .cleanbot-shell .hsearch{ margin-left:0; margin-right:-16px; }
  .cleanbot-shell .hsearch__panel{ left:0; right:0; width:auto; }
  .cleanbot-shell .hsearch__drop{ max-height:calc(100dvh - var(--hdr-h) - 120px); }
}

/* ============================================================
   Страница результатов (search.php)
   ============================================================ */
.cleanbot-redesign .srch-form{ display:flex; gap:10px; max-width:640px; margin:0 0 16px; }
.cleanbot-redesign .srch-form input{
  -webkit-appearance:none; appearance:none;
  flex:1; min-width:0; height:52px; margin:0; padding:0 22px;
  border:1px solid var(--line); border-radius:999px;
  background:#fff; color:var(--text);
  font:inherit; font-size:16px;
}
.cleanbot-redesign .srch-form input:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px var(--acc-tint-2); }
.cleanbot-redesign .srch-form input::-webkit-search-cancel-button{ -webkit-appearance:none; display:none; }
.cleanbot-redesign .srch-count{ margin:0; font-size:15px; color:var(--text-2); }
.cleanbot-redesign .srch-count b{ color:var(--text); font-weight:600; }

.cleanbot-redesign .srch{ padding-bottom:80px; }
.cleanbot-redesign .srch__block + .srch__block{ margin-top:56px; }
.cleanbot-redesign .srch__h{ margin:0 0 22px; font-size:clamp(22px, 2vw, 28px); font-weight:600; letter-spacing:-.02em; }
.cleanbot-redesign .srch .pgrid{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:20px; }
.cleanbot-redesign .srch .bgrid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }

.cleanbot-redesign .srch-empty{
  margin-bottom:56px; padding:48px 24px;
  text-align:center;
  border:1px dashed var(--line); border-radius:var(--r-lg);
}
.cleanbot-redesign .srch-empty h2{ margin:0 0 10px; font-size:clamp(22px, 2vw, 28px); font-weight:600; letter-spacing:-.02em; }
.cleanbot-redesign .srch-empty p{ margin:0; color:var(--text-2); }

.cleanbot-redesign .srch .nav-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:48px; }
.cleanbot-redesign .srch .page-numbers{
  display:inline-grid; place-items:center;
  min-width:44px; height:44px; padding:0 14px;
  border:1px solid var(--line); border-radius:999px;
  font-size:15px; font-weight:600;
  transition:border-color .2s var(--ease);
}
.cleanbot-redesign .srch a.page-numbers:hover{ border-color:var(--text); }
.cleanbot-redesign .srch .page-numbers.current{ background:var(--ink); border-color:var(--ink); color:#fff; }
.cleanbot-redesign .srch .page-numbers.dots{ border-color:transparent; }
.cleanbot-redesign .srch .screen-reader-text{
  position:absolute !important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

@media (max-width:1180px){
  .cleanbot-redesign .srch .pgrid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .cleanbot-redesign .srch .bgrid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:900px){
  .cleanbot-redesign .srch .pgrid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
}
@media (max-width:620px){
  .cleanbot-redesign .srch-form .btn{ padding:0 20px; }
  .cleanbot-redesign .srch .bgrid{ grid-template-columns:minmax(0, 1fr); gap:12px; }
}

/* Task 16: подсветка совпадений в подсказках и на странице результатов */
mark.cb-mark{ background:#FFE58A; color:inherit; padding:0 .08em; border-radius:3px; }
