.search-sheet{--search-ink:#282331;--search-muted:#655970;--search-accent:#67409a;--search-line:#e9e2ef;--search-soft:#f5f1f8;position:fixed;inset:clamp(20px,6vh,64px) 0 auto;margin:0 auto;width:min(1040px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 2 * clamp(20px,6vh,64px));padding:0;border:0;border-radius:22px;background:white;color:var(--search-ink);box-shadow:0 24px 80px #27163c30;overflow:auto;overscroll-behavior:contain}
.search-sheet::backdrop{background:#21122d66}
.search-sheet [hidden]{display:none!important}
.search-sheet-head{position:sticky;top:0;background:#fff;z-index:2;padding:20px 24px 14px;border-bottom:1px solid var(--search-line)}
.search-sheet-row,.search-field{display:flex;align-items:center;gap:12px}
.search-field{flex:1;min-width:0;min-height:54px;padding:0 12px;border:1px solid #d6c9e2;border-radius:12px;background:#fcfbfd}
.search-field:focus-within{border-color:#8d65b5;box-shadow:0 0 0 2px #eee5f7}
.search-field svg{width:20px;flex:none;color:var(--search-accent)}
.search-field input{flex:1;min-width:0;width:100%;border:0;background:transparent;font:inherit;font-size:18px;color:inherit;outline:none;padding:12px 0}
.search-field input::-webkit-search-cancel-button{display:none}
.search-dismiss,.search-clear{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--search-soft);color:var(--search-accent);font-size:25px;line-height:1}
.search-clear{width:32px;height:36px;background:transparent;font-size:22px}
.search-filters,.search-hints{display:flex;flex-wrap:wrap;gap:8px}
.search-filters{margin-top:12px}
.search-filters button,.search-hints button,.search-action{border:1px solid transparent;border-radius:18px;padding:8px 14px;background:var(--search-soft);color:inherit;font-size:13px}
.search-filters button[aria-pressed=true]{color:#fff;background:var(--search-accent)}
.search-content{padding:18px 24px 20px}
.search-status{font-size:12px;color:var(--search-muted);margin-bottom:12px}
.search-status:empty{display:none}
.search-intro{display:grid;gap:20px;grid-template-columns:1fr 1fr}
.search-intro h3,.search-group h3{font-size:16px;margin:0 0 10px}
.search-hints button{border-color:var(--search-line);border-radius:9px;min-height:40px}
.search-hints span{color:var(--search-accent);margin-left:4px}
.search-results{display:grid;gap:20px}
.search-results.is-mixed{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}
.search-group+.search-group{margin-top:18px}
.search-result{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;position:relative;border-bottom:1px solid var(--search-line);min-height:64px}
.search-result:last-child{border-bottom-color:transparent}
.search-result.is-current,.search-result:focus-within{background:var(--search-soft)}
.search-thumb{width:54px;height:54px;object-fit:contain;background:#f3f2f4;border-radius:8px;flex:none}
.search-result-info{flex:1;min-width:0;display:grid;gap:3px}
.search-result-link{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.search-result-link::after{content:"";position:absolute;inset:0;border-radius:12px}
.search-result small{font-size:12px;color:var(--search-muted);line-height:1.35;overflow-wrap:anywhere}
.search-result .search-price{display:flex;flex:none;align-items:center;gap:3px;font-size:15px;white-space:nowrap}
.search-price-currency{width:12px;height:16px;object-fit:contain}
.search-result-arrow{color:var(--search-accent);font-size:18px;flex:none}
.search-status-button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;padding:3px 0;text-align:left;font:inherit}
.search-status-button::after{content:"ⓘ";font-size:11px;margin-left:2px}
.search-sheet .search-status-button .cat-status-label{flex:none}
.search-tip{position:fixed;z-index:4;width:min(264px,calc(100vw - 20px));max-height:calc(100dvh - 16px);overflow:auto;background:#fff;border:1px solid #dbcee6;border-radius:12px;padding:12px 14px;box-shadow:0 8px 26px #281a4430;font-size:13px;line-height:1.4;pointer-events:none}
.search-tip strong,.search-rescue strong,.search-rescue small{display:block}
.search-tip strong{margin-bottom:4px}
.search-empty{padding:12px 0 18px}
.search-empty h3{font-size:20px;margin:0 0 8px;overflow-wrap:anywhere}
.search-empty p{margin:0 0 12px;color:var(--search-muted)}
.search-action{color:var(--search-accent);border-color:#d6c9e2;border-radius:9px}
.search-skeleton{display:grid;gap:8px}
.search-skeleton i{height:52px;border-radius:10px;background:linear-gradient(90deg,#f3eef7 18%,#faf7fc 42%,#f3eef7 65%);background-size:220% 100%;animation:search-pulse 1.6s linear infinite}
@keyframes search-pulse{to{background-position:-220% 0}}
.search-rescue{margin-top:18px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:8px 18px;padding:12px 16px;border-radius:13px;background:linear-gradient(110deg,#f0e8f8,#fdf0e3)}
.search-rescue strong{font-size:16px;line-height:1.3}
.search-rescue small{color:var(--search-muted);font-size:12px;margin-top:3px}
.search-rescue a,.search-foot a{color:var(--search-accent);font-size:13px;font-weight:650}
.search-rescue a{flex:none}
.search-foot{display:flex;justify-content:space-between;gap:8px;margin-top:12px;color:var(--search-muted);font-size:11px}
.search-foot a{margin-left:auto}
.search-sheet :is(a,button):focus-visible{outline:2px solid var(--search-accent);outline-offset:2px}
@media(hover:hover){.search-result:hover,.search-dismiss:hover,.search-hints button:hover{background:#eee5f7}.search-rescue a:hover,.search-foot a:hover{text-decoration:underline}}
@media(max-width:760px){
.search-sheet{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}
.search-sheet-head,.search-content{padding:14px}
.search-field input{font-size:16px}
.search-sheet-row{gap:7px}
.search-filters{gap:4px}
.search-filters button{padding:8px 9px;min-height:36px;font-size:12px}
.search-results.is-mixed,.search-intro{grid-template-columns:minmax(0,1fr);gap:16px}
.search-thumb{width:44px;height:48px}
.search-result{gap:7px;padding-inline:4px}
.search-result-link,.search-result .search-price{font-size:13px}
.search-result-arrow{display:none}
.search-rescue{flex-wrap:wrap}
.search-rescue a{padding:6px 0}
.search-foot span{display:none}
}
@media(prefers-reduced-motion:reduce){.search-skeleton i{animation:none}}
.search-clear{width:auto;padding-inline:6px;font-size:12px;font-weight:650}
.search-intro,.search-results.is-mixed{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.search-intro>section+section,.search-results.is-mixed>div{border-left:1px solid var(--search-line);padding-left:20px}
.search-hints.is-categories{display:grid;gap:0}
.search-hints.is-categories button{display:flex;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid var(--search-line);border-radius:8px;background:white;font-weight:650}
.search-hints.is-categories button:is(:hover,:focus-visible){background:var(--search-soft)}
.search-hints.is-categories button svg{width:32px;height:32px;padding:6px;border-radius:8px;background:#eee6f7;color:var(--search-accent)}
.search-hints.is-categories a > span{margin-left:auto;font-size:18px}
.search-intro-note{border-top:1px solid var(--search-line);margin:16px 0 0;padding-top:12px;color:var(--search-muted);font-size:13px}
.search-rescue>svg{width:30px;height:30px;flex:none;color:var(--search-accent)}
.search-rescue>div{flex:1}
.search-rescue a{padding:8px 12px;border-radius:8px;border:1px solid #d7c5e7;background:#fff}
.search-foot{border-top:1px solid var(--search-line);padding-top:10px}
@media(max-width:760px){
.search-intro,.search-results.is-mixed{grid-template-columns:minmax(0,1fr)}
.search-intro>section+section,.search-results.is-mixed>div{padding:0;border:0}
.search-rescue>svg{width:24px;height:24px}
.search-rescue a{margin-left:42px}
}
.search-sheet .search-field input:focus-visible{outline:none;box-shadow:none}
.search-result-action{flex:none;color:var(--search-accent);font-size:12px;font-weight:600}
.search-group h3 small,.search-filters small{font-size:.85em;font-weight:600}
@media(max-width:760px){.search-result-action{max-width:78px;text-align:right;line-height:1.3}}
.search-hints.is-categories { gap: 6px; }
.search-hints.is-categories a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 4px 10px;
    border: 1px solid var(--search-line);
    border-radius: 8px;
    background: var(--search-soft);
    font-size: 13px;
}
.search-hints.is-categories img { flex: none; object-fit: contain; mix-blend-mode: multiply; }
.search-hints.is-categories a:is(:focus-visible,:active) {
    background: linear-gradient(120deg,#ede1f8,#f7e4da);
    color: var(--search-accent);
}
@media (hover:hover) {
    .search-hints.is-categories a:hover {
        background: linear-gradient(120deg,#ede1f8,#f7e4da);
        color: var(--search-accent);
    }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .search-hints.is-categories img { transition: transform 150ms ease; }
    .search-hints.is-categories a:hover img { transform: scale(1.08); }
}

@media (max-width: 400px) {
    .search-field input::placeholder { font-size: 13px; }
}
/* Счётчики в фильтрах и заголовках групп — отдельный бейдж, чтобы число читалось как количество, а не как часть текста. */
.search-group h3{display:flex;align-items:center;gap:8px}
.search-filters button{display:inline-flex;align-items:center;gap:6px}
.search-group h3 small,.search-filters small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ebe1f6;color:var(--search-accent);font-size:12px;font-weight:700;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
.search-filters button[aria-pressed=true] small{background:#fff;color:var(--search-accent)}
/* Акционная цена: текущая красная (как на странице товара), прежняя — зачёркнутая под ней. */
.search-price-block{display:grid;justify-items:end;gap:2px;flex:none}
.search-price-block.is-sale .search-price{color:#af1e36}
.search-price-old{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:500;line-height:1.2;color:var(--search-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.search-price-old .search-price-currency{width:9px;height:12px;opacity:.75}
/* Статус занимает ширину своего текста: пояснение всплывает только при наведении на сам статус, а не на пустое место строки. */
.search-result .mf-native-status{justify-self:start}
@media(max-width:760px){.search-price-old{font-size:11px}}
/* Ссылка «Все N →» у заголовка товаров: показаны не все найденные. */
.search-group-more{margin-left:auto;font-size:13px;font-weight:600;color:var(--search-accent);white-space:nowrap}
@media(hover:hover){.search-group-more:hover{text-decoration:underline}}
/* Левая колонка теперь тоже div (товары + «Нет на сайте»): разделитель только у правой. */
.search-results.is-mixed>div:first-child{border-left:0;padding-left:0}
/* «Нет на сайте»: скрытые товары по запросу. Без цены; пометка и действие «Запросить». */
/* Окно «Уточнить наличие и цену» для товаров «Нет на сайте» (поверх поиска) и запасная страница без JS. */
.mf-request-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;background:#fff;color:#282331;box-shadow:0 24px 80px #27163c40;overflow:auto}
.mf-request-dialog::backdrop{background:#21122d66}
.mf-request-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f5f1f8;color:#67409a;font-size:24px;line-height:1;cursor:pointer}
.mf-request-body{padding:26px 24px 24px}
.mf-request-body .search-skeleton{display:grid;gap:10px}
.mf-request.is-page{max-width:480px;margin:24px auto 56px}
.mf-request-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:#f8efe2;color:#8a5a12;font-size:12px;font-weight:700}
.mf-request-title{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:12px 48px 8px 0}
.mf-request-product{font-size:15px;font-weight:600;line-height:1.45;margin:0 0 10px;overflow-wrap:anywhere;color:#282331}
.mf-request-lead{font-size:14px;line-height:1.6;color:#655970;margin:0 0 16px}
.mf-request-lead a{color:#67409a;text-decoration:underline}
.mf-request-form form{display:grid;gap:8px}
.mf-request-form label{font-size:13px;font-weight:600;margin-top:4px}
.mf-request-form label small{font-weight:400;color:#655970}
.mf-request-form input,.mf-request-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbbfd8;border-radius:10px;padding:12px 13px;font:inherit;font-size:15px;background:#fcfbfd;color:inherit}
.mf-request-form input:focus,.mf-request-form textarea:focus{outline:2px solid #9861d5;outline-offset:1px;border-color:transparent}
.mf-request-submit{margin-top:8px;min-height:48px;width:100%}
.mf-request-submit[disabled]{opacity:.6}
.mf-request-errors{border-radius:10px;background:#fbecee;color:#8f1f33;padding:10px 12px;font-size:13px}
.mf-request-done{font-size:15px;line-height:1.5;color:#246d4d;margin:4px 0 0}
@media(max-width:760px){.mf-request-body{padding:22px 16px 18px}.mf-request-title{font-size:20px}}
/* Компактные группы: «Нет на сайте» — одна строка мелким шрифтом, статьи — только заголовок. */
.search-result.is-request,.search-result.is-article{min-height:0;padding:6px 8px;gap:8px}
.search-result.is-request .search-result-link,.search-result.is-article .search-result-link{font-size:13px;line-height:1.35}
.search-result.is-request strong,.search-result.is-article strong{font-weight:500}
.search-result.is-request .search-result-info{grid-template-columns:minmax(0,1fr)}
.search-result.is-request .search-result-link{display:block;min-width:0;overflow:hidden}
.search-result.is-request strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result.is-article strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-result.is-request .search-result-action{font-size:12px}
.search-group.is-request h3{font-size:14px;flex-wrap:wrap}
.search-group-note{font-size:12px;font-weight:400;color:var(--search-muted)}
/* Телефон: блок «Не нашли?» в строку не помещается. Текст занимает всю ширину рядом со значком, кнопка уходит на вторую строку. */
@media (max-width:560px){
.search-rescue{flex-wrap:wrap;align-items:flex-start}
.search-rescue>div{flex:1 1 calc(100% - 44px);min-width:0}
.search-rescue a{flex:1 1 100%;margin-left:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
}
