.ps { --ps-accent: #153620; --ps-accent-dark: #0c2113; --ps-radius: 8px; font-family: inherit; }
.ps[data-show-results="N"] .ps-search { min-height: 44px; height: 44px; border-radius: 3px; box-shadow: 0 0 0 1px #e5e5e5; }
.ps[data-show-results="N"] .ps-search__input { font-size: 15px; padding: 6px 4px; height: auto; }
.ps[data-show-results="N"] .ps-search__submit { min-width: 82px; border-radius: 3px; }
.ps[data-show-results="N"] .ps-search__clear { width: 28px; height: 28px; }
.ps[data-show-results="N"] .ps-search__icon { width: 18px; height: 18px; flex-shrink: 0; }
.ps[data-show-results="N"] .ps-search__icon::after { margin-top: 14px; }
.ps[data-show-results="N"] .ps-suggest { min-width: min(720px, 90vw); }
.prosearch-overlay .col-md-10 { position: relative; }
.prosearch-overlay-close { position: absolute; right: -32px; top: 0; border: 0; background: transparent; font-size: 32px; line-height: 44px; }
@media (max-width: 767px) {
 .ps[data-show-results="N"] .ps-suggest { min-width: 0; width: 100%; }
 .ps[data-show-results="N"] .ps-search__submit { min-width: 65px; }
 .prosearch-overlay .col-md-10 { margin-right: 28px; }
}
.ps .ps-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; }
.ps .ps-card__name { font-size: 15px; line-height: 1.4; min-height: 63px; -webkit-line-clamp: 3; }
.ps .ps-card__buy { opacity: 1; transform: none; }
.ps .ps-card__category { font-size: 12px; }
.ps .ps-card__price { font-size: 19px; }
@media (max-width: 1100px) { .ps .ps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .ps .ps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; } }
/* Keep the search panel above Aspro's search overlay. */
.inline-search-block.prosearch-overlay { z-index: 3000; }
@media (max-width: 991px) {
 .prosearch-overlay .col-md-10 { width: 100%; margin-right: 0; padding-right: 48px; }
 .prosearch-overlay .prosearch-overlay-close { right: 12px; top: 0; width: 28px; }
}
body .inline-search-block.prosearch-overlay { z-index: 3000 !important; }

/* White backgrounds for search results and product images. */
.ps .ps-results, .ps .ps-card, .ps .ps-card__media, .ps .ps-suggest-card, .ps .ps-suggest-card img { background: #fff; }

/* Match the existing Aspro catalogue on Viona. */
.ps.ps {
 --ps-ink: #333; --ps-muted: #888; --ps-line: #ececec;
 --ps-soft: #f7f7f7; --ps-accent: #002d16; --ps-accent-dark: #153620;
 --ps-radius: 3px; --ps-shadow: 0 5px 20px rgba(0,0,0,.10);
 font-family: Montserrat, Arial, sans-serif; font-size: 14px; line-height: 1.6;
}
.ps .ps-search { min-height: 48px; padding: 4px; border: 1px solid #ddd; border-radius: 3px; box-shadow: none; }
.ps .ps-search:focus-within { border-color: #002d16; box-shadow: 0 0 0 1px #002d16; }
.ps .ps-search__input { font-size: 14px; }
.ps .ps-search__submit, .ps .ps-card__buy, .ps .ps-suggest__all, .ps .ps-empty button {
 border-radius: 3px; background: #002d16; color: #fff; font-size: 11px;
 font-weight: 400; letter-spacing: .06em; text-transform: uppercase;
}
.ps .ps-search__submit:hover, .ps .ps-card__buy:hover, .ps .ps-suggest__all:hover { background: #153620; transform: none; }
.ps .ps-search__icon { position: relative; width: 17px; height: 17px; margin: 0 12px; border-color: #555; flex-shrink: 0; }
.ps .ps-search__icon::after { left: 11px; top: 12px; width: 7px; margin: 0; background: #555; }
.ps[data-show-results="N"] .ps-search__icon::after { margin: 0; }
.ps .ps-results { margin-top: 30px; }
.ps .ps-results__head { gap: 20px; margin-bottom: 20px; }
.ps .ps-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .06em; color: #888; }
.ps .ps-title { font-size: 24px; font-weight: 400; line-height: 1.4; letter-spacing: 0; }
.ps .ps-correction { margin-top: 6px; font-size: 12px; }
.ps .ps-sort-label { font-weight: 400; }
.ps .ps-sort { border-radius: 3px; min-width: 200px; padding: 10px 30px 10px 12px; font-size: 13px; }
.ps .ps-chip, .ps .ps-category-chip { border-radius: 3px; padding: 6px 10px; font-size: 12px; }
.ps .ps-chips { gap: 6px; margin-bottom: 20px; }
.ps .ps-layout { grid-template-columns: 244px minmax(0, 1fr); gap: 30px; }
.ps .ps-filters { border-radius: 3px; padding: 0 18px 18px; }
.ps .ps-filter summary { padding: 15px 0; font-size: 13px; font-weight: 600; }
.ps .ps-check { font-size: 12px; color: #555; }
.ps .ps-check input { width: 16px; height: 16px; }
.ps .ps-range input, .ps .ps-filters__reset, .ps .ps-filter-toggle { border-radius: 3px; }
.ps .ps-filters__reset { border: 1px solid #ddd; background: #fff; font-size: 11px; text-transform: uppercase; font-weight: 400; }
.ps .ps-grid { gap: 0; border-top: 1px solid #ececec; border-left: 1px solid #ececec; }
.ps .ps-card { display: flex; flex-direction: column; padding: 24px; border-right: 1px solid #ececec; border-bottom: 1px solid #ececec; background: #fff; transition: box-shadow .2s; }
.ps .ps-card:hover { z-index: 1; box-shadow: 0 0 18px rgba(0,0,0,.10); }
.ps .ps-card__media { border-radius: 0; aspect-ratio: 1; background: #fff; }
.ps .ps-card__media img { padding: 0; }
.ps .ps-card:hover .ps-card__media img { transform: none; }
.ps .ps-card__body { display: flex; flex: 1; flex-direction: column; padding-top: 16px; }
.ps .ps-card__category { color: #999; font-size: 11px; margin-bottom: 6px; }
.ps .ps-card__name { color: #333; font-size: 14px; font-weight: 400; line-height: 1.6; min-height: 67px; }
.ps .ps-card__name:hover { color: #002d16; }
.ps .ps-card__price-row { margin-top: auto; padding-top: 12px; }
.ps .ps-card__price { color: #333; font-size: 16px; font-weight: 700; }
.ps .ps-card__buy { min-height: 38px; margin-top: 15px; opacity: 1; transform: none; }
.ps .ps-badge { border-radius: 2px; font-weight: 600; }
.ps .ps-suggest { padding: 20px; border-radius: 3px; }
.ps .ps-suggest__label { font-size: 11px; font-weight: 600; color: #888; }
.ps .ps-suggest__item { border-radius: 2px; font-size: 13px; padding: 9px 8px; }
.ps .ps-suggest__item mark { color: #002d16; font-weight: 600; }
.ps .ps-suggest-products { grid-template-columns: 1fr; gap: 0; }
.ps .ps-suggest-card { grid-template-columns: 50px 1fr; border: 0; border-bottom: 1px solid #ececec; border-radius: 0; padding: 10px 0; }
.ps .ps-suggest-card:hover { box-shadow: none; background: #f7f7f7; }
.ps .ps-suggest-card img { width: 50px; height: 50px; border-radius: 0; background: #fff; }
.ps .ps-suggest-card__name { font-size: 13px; line-height: 1.5; margin-bottom: 4px; }
.ps .ps-suggest-card__price { font-size: 14px; font-weight: 700; }
.ps .ps-backdrop { background: rgba(0,0,0,.2); backdrop-filter: none; }
.ps .ps-page { border-radius: 3px; font-size: 13px; }
.ps .ps-page[aria-current="page"] { background: #002d16; border-color: #002d16; }
.ps .ps-empty__mark { border-radius: 3px; color: #002d16; background: #f7f7f7; transform: none; }
@media (max-width: 1150px) {
 .ps .ps-layout { grid-template-columns: 210px minmax(0,1fr); gap: 20px; }
 .ps .ps-card { padding: 18px; }
}
@media (max-width: 760px) {
 .ps .ps-layout { display: block; }
 .ps .ps-results { margin-top: 24px; }
 .ps .ps-title { font-size: 21px; }
 .ps .ps-card { padding: 12px; }
 .ps .ps-card__name { font-size: 12px; min-height: 58px; }
 .ps .ps-card__price { font-size: 15px; }
 .ps .ps-card__buy { font-size: 10px; letter-spacing: .02em; }
 .ps .ps-filters { padding: 18px; border-radius: 3px 3px 0 0; }
 .ps .ps-suggest { padding: 15px; }
 .ps .ps-sort { min-width: 0; }
}
.ps .ps-card__media img[src^="data:image/svg+xml"], .ps .ps-suggest-card img[src^="data:image/svg+xml"] { filter: grayscale(1) contrast(1.3); }
@media (max-width: 760px) {
 .ps .ps-filters { position: fixed; top: auto; right: 0; bottom: 0; left: 0; }
 .ps .ps-sort-label, .ps .ps-sort { width: 100%; }
}
