/* Festival Instant Search + SERP — isolated .fst-search-* */
:root {
  --fst-search-pink: #d81b60;
  --fst-search-pink-hover: #b7154f;
  --fst-search-ink: #1a1a1a;
  --fst-search-muted: #6b6b6b;
  --fst-search-line: #ebebeb;
  --fst-search-bg: #ffffff;
  --fst-search-soft: #faf7f8;
  --fst-search-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Header search host — never clip the suggest UI */
#masthead .fs-hdr__search,
#masthead .fs-hdr__search.fst-search-root,
#masthead.fs-hdr:not(.fs-hdr--mob) .fs-hdr__search {
  position: relative;
  z-index: 40;
  overflow: visible !important;
}
#masthead .fs-hdr__main,
#masthead .fs-hdr__inner {
  overflow: visible !important;
}

/* Clear ✕ — must NOT inherit .fs-hdr__search button (submit) pink styles */
#masthead .fs-hdr__search button.fst-search-clear,
.fs-hdr__search button.fst-search-clear {
  position: absolute;
  right: 42px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: 0 !important;
  background: transparent !important;
  color: #9a8a90 !important;
  cursor: pointer;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  z-index: 3;
  padding: 0 !important;
  box-shadow: none !important;
}
.fs-hdr__search.is-filled button.fst-search-clear,
.fs-hdr__search.is-open button.fst-search-clear {
  display: inline-flex !important;
}
.fs-hdr__search.is-filled input[type="search"],
.fs-hdr__search.is-open input[type="search"] {
  padding-right: 72px;
}

/* Backdrop — starts BELOW sticky header; NO blur (keeps search input sharp) */
.fst-search-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 120px; /* JS overrides to live #masthead bottom */
  z-index: 10040 !important;
  background: rgba(20, 12, 16, 0.32);
  /* No backdrop-filter — blur must never cover the header search field */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms var(--fst-search-ease);
}
.fst-search-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}
/* Keep header + search form above any residual overlay stacking */
body.fst-search-suggest-open #masthead.fs-hdr {
  z-index: 10055 !important;
}
body.fst-search-suggest-open #masthead.fs-hdr .fs-hdr__search,
body.fst-search-suggest-open #masthead.fs-hdr .fs-hdr__search input[type="search"] {
  position: relative;
  z-index: 2;
  filter: none !important;
  -webkit-filter: none !important;
}

/* Desktop dropdown — fixed under the search input (no upward slide = no overlap) */
.fst-search-dd,
.fst-search-dd--portal {
  position: fixed;
  z-index: 10060 !important;
  background: var(--fst-search-bg);
  border: 1px solid var(--fst-search-line);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(30, 10, 20, 0.18);
  overflow: hidden;
  opacity: 0;
  /* No translateY — upward motion was covering the search field */
  transform: none;
  margin: 0;
  pointer-events: none;
  transition: opacity 180ms var(--fst-search-ease);
  max-height: min(72vh, 560px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.fst-search-dd.is-open,
.fst-search-dd--portal.is-open {
  opacity: 1;
  transform: none !important;
  pointer-events: auto;
}

.fst-search-dd__body {
  display: grid;
  grid-template-columns: minmax(200px, 42%) 1fr;
  min-height: 180px;
  overflow: hidden;
  align-items: stretch;
}
.fst-search-dd__side {
  border-right: 1px solid rgba(216, 27, 96, 0.1);
  background: var(--fst-search-soft);
  padding: 16px 14px 14px 20px;
  overflow: auto;
  box-sizing: border-box;
}
.fst-search-dd__main {
  padding: 16px 16px 12px 14px;
  overflow: auto;
  box-sizing: border-box;
}
.fst-search-dd__label {
  margin: 0 0 10px;
  padding: 0;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fst-search-muted);
  font-weight: 600;
  line-height: 1.2;
  min-height: 14px;
}
.fst-search-dd__side .fst-search-dd__label,
.fst-search-dd__main .fst-search-dd__label {
  margin-top: 0;
}
.fst-search-dd__footer {
  border-top: 1px solid var(--fst-search-line);
  padding: 12px 18px;
  background: #fff;
}
.fst-search-dd__all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--fst-search-pink) !important;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  text-align: left;
  padding: 4px 0;
  text-decoration: none !important;
}
.fst-search-dd__all:hover {
  color: var(--fst-search-pink-hover) !important;
  text-decoration: none !important;
}

/* Kill theme default link underline/blue inside suggest */
.fst-search-dd a,
.fst-search-dd a:link,
.fst-search-dd a:visited,
.fst-search-dd a:hover,
.fst-search-dd a:focus,
.fst-search-dd--portal a,
.fst-search-dd--portal a:hover {
  text-decoration: none !important;
}

/* Focus / empty panels */
.fst-search-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fst-search-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid #e8dce1;
  background: #fff;
  color: var(--fst-search-ink);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}
.fst-search-chip:hover,
.fst-search-chip.is-active {
  border-color: var(--fst-search-pink);
  color: var(--fst-search-pink);
  background: #fff0f6;
}
button.fst-search-chip {
  font: inherit;
}

.fst-search-hist {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
}
.fst-search-hist li {
  margin: 0;
}
.fst-search-hist button {
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 8px 6px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--fst-search-ink);
  font-size: 14px;
}
.fst-search-hist button:hover,
.fst-search-hist button.is-active {
  background: rgba(216, 27, 96, 0.08);
  color: var(--fst-search-pink);
}

.fst-search-link {
  display: block;
  padding: 9px 10px;
  border-radius: 8px;
  color: var(--fst-search-ink) !important;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1.35;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}
.fst-search-link:hover,
.fst-search-link.is-active {
  background: rgba(216, 27, 96, 0.08);
  color: var(--fst-search-pink) !important;
  text-decoration: none !important;
}
.fst-search-link__meta {
  display: block;
  font-size: 12px;
  color: var(--fst-search-muted);
  margin-top: 2px;
}
.fst-search-mark {
  background: rgba(216, 27, 96, 0.16);
  color: inherit;
  padding: 0 2px;
  border-radius: 3px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* Product rows */
.fst-search-prod {
  display: grid;
  grid-template-columns: 56px 1fr 40px;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 8px 6px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
}
.fst-search-prod:hover,
.fst-search-prod.is-active {
  background: rgba(216, 27, 96, 0.06);
}
.fst-search-prod__img {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: #f3f0f1;
  flex-shrink: 0;
  text-decoration: none !important;
}
.fst-search-prod__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fst-search-prod__meta {
  text-decoration: none !important;
  color: inherit !important;
  min-width: 0;
}
.fst-search-prod__meta:hover {
  text-decoration: none !important;
}
.fst-search-prod__title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--fst-search-ink) !important;
  text-decoration: none !important;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}
.fst-search-prod__title,
.fst-search-prod__title * {
  text-decoration: none !important;
}
.fst-search-prod__title mark,
.fst-search-link mark,
.fst-search-mark {
  display: inline;
  white-space: inherit;
}
.fst-search-prod__price,
.fst-search-prod__price .amount,
.fst-search-prod__price bdi,
.fst-search-prod__price span {
  font-size: 14px;
  font-weight: 700;
  color: var(--fst-search-pink) !important;
  text-decoration: none !important;
}
.fst-search-prod__price del,
.fst-search-prod__price del .amount {
  opacity: 0.5;
  margin-right: 6px;
  font-weight: 500;
  color: #9a8a90 !important;
}
.fst-search-prod__badge {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: var(--fst-search-pink);
  border-radius: 4px;
  padding: 1px 5px;
  vertical-align: middle;
}
.fst-search-prod__cart {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid #eadde3 !important;
  background: #fff !important;
  color: var(--fst-search-pink) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  box-shadow: none !important;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  position: relative;
  font-size: 0 !important;
  line-height: 0 !important;
}
/* Kill Font Awesome / theme pseudo-icons that render as trash */
.fst-search-prod__cart::before,
.fst-search-prod__cart::after,
.fst-search-dd .fst-search-prod__cart::before,
.fst-search-dd .fst-search-prod__cart::after {
  content: none !important;
  display: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}
.fst-search-prod__cart .fa,
.fst-search-prod__cart i,
.fst-search-prod__cart .dashicons {
  display: none !important;
}
.fst-search-prod__cart .fst-search-cart-ico {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.fst-search-prod__cart:hover,
.fst-search-prod__cart.is-in-cart {
  background: var(--fst-search-pink) !important;
  border-color: var(--fst-search-pink) !important;
  color: #fff !important;
}
.fst-search-prod__cart:disabled {
  opacity: 0.5;
  cursor: wait;
}

/* Skeleton */
.fst-search-skel {
  padding: 8px;
}
.fst-search-skel__line {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, #f0eaed 25%, #f8f4f6 40%, #f0eaed 55%);
  background-size: 200% 100%;
  animation: fst-search-shimmer 1.1s linear infinite;
  margin: 10px 0;
}
.fst-search-skel__line--lg { width: 88%; height: 56px; }
.fst-search-skel__line--md { width: 70%; }
.fst-search-skel__line--sm { width: 45%; }

@keyframes fst-search-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

/* Mobile fullscreen */
.fst-search-mob {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: #fff;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 220ms var(--fst-search-ease), transform 240ms var(--fst-search-ease);
}
.fst-search-mob.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.fst-search-mob__top {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--fst-search-line);
  flex-shrink: 0;
}
.fst-search-mob__back {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  font-size: 22px;
  cursor: pointer;
  color: var(--fst-search-ink);
  border-radius: 10px;
}
.fst-search-mob__field {
  flex: 1;
  position: relative;
}
.fst-search-mob__field input {
  width: 100%;
  height: 44px;
  border: 1px solid #e8dce1;
  border-radius: 12px;
  padding: 0 40px 0 14px;
  font-size: 16px;
  outline: none;
}
.fst-search-mob__field input:focus {
  border-color: var(--fst-search-pink);
  box-shadow: 0 0 0 3px rgba(216, 27, 96, 0.12);
}
.fst-search-mob__clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  font-size: 18px;
  color: #9a8a90;
  cursor: pointer;
}
.fst-search-mob__scroll {
  flex: 1;
  overflow: auto;
  padding: 14px 14px 88px;
  -webkit-overflow-scrolling: touch;
}
.fst-search-mob__cats {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 12px;
  margin-bottom: 8px;
  scrollbar-width: none;
}
.fst-search-mob__cats::-webkit-scrollbar { display: none; }
.fst-search-mob__cats .fst-search-chip {
  flex: 0 0 auto;
  white-space: nowrap;
}
.fst-search-mob__sticky {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff 28%);
  z-index: 2;
}
.fst-search-mob__show {
  display: flex;
  width: 100%;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  background: var(--fst-search-pink);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  text-decoration: none;
}
.fst-search-mob__show:hover {
  background: var(--fst-search-pink-hover);
  color: #fff;
}

body.fst-search-lock {
  overflow: hidden;
}

/* ==========================================================================
   SERP — mirror festival-cat listing (toolbar on top, 4-col cards)
   ========================================================================== */
body.fst-search-page {
  --fst-primary: #d81b60;
  --fst-primary-hover: #b7154f;
  --fst-text: #1f1f1f;
  --fst-muted: #666;
  --fst-border: #ebebeb;
  --fst-radius: 8px;
}
body.fst-search-page.sidebar-none #secondary,
body.fst-search-page .widget-area:not(.fst-filter-drawer),
body.fst-search-page #secondary.widget-area {
  display: none !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.fst-search-page .site-content.fixed,
body.fst-search-page .site-content {
  max-width: 1300px !important;
  width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  display: block !important;
}
body.fst-search-page .site-content-inner,
body.fst-search-page .content-area,
body.fst-search-page #primary,
body.fst-search-page .site-main,
body.fst-search-page .fst-search-serp {
  display: block !important;
  float: none !important;
  max-width: none !important;
  width: 100% !important;
  flex: 1 1 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.fst-search-serp__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 16px;
  margin: 8px 0 12px;
}
.fst-search-serp__title {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.2;
  color: var(--fst-search-ink);
  font-weight: 700;
}
.fst-search-serp__q {
  font-weight: 600;
  color: var(--fst-search-pink);
}
.fst-search-serp__count {
  margin: 0;
  color: var(--fst-search-muted);
  font-size: 14px;
}
.fst-search-serp__correct {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fff5f9;
  border: 1px solid #f3d5e2;
  color: #4a3038;
  font-size: 14px;
}
.fst-search-serp__correct-orig {
  color: var(--fst-search-muted);
}
.fst-search-serp__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

/* Filter toolbar ON TOP (reuse cat markup; styles scoped to search page) */
body.fst-search-page .fst-filter-bar,
body.fst-search-page .fst-search-filters {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  z-index: 20;
}
body.fst-search-page .fst-filter-bar__desktop {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  padding: 4px 0;
  width: 100%;
}
body.fst-search-page .fst-filter-bar__quick {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
}
body.fst-search-page .fst-filter-bar__sort {
  flex: 0 0 auto;
}
body.fst-search-page .fst-filter-dd {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}
body.fst-search-page .fst-filter-dd__btn,
body.fst-search-page .fst-filter-sort__btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--fst-border) !important;
  border-radius: 50px !important;
  background: #fff !important;
  color: var(--fst-text) !important;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
}
body.fst-search-page .fst-filter-dd__btn:hover,
body.fst-search-page .fst-filter-sort__btn:hover {
  border-color: #f0b9ce !important;
  color: var(--fst-primary) !important;
}
body.fst-search-page .fst-filter-dd__panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 30;
  min-width: 260px;
  max-width: min(420px, 92vw);
  padding: 14px;
  background: #fff;
  border: 1px solid var(--fst-border);
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.1);
}
body.fst-search-page .fst-filter-bar__mobile {
  display: none;
}
@media (max-width: 767px) {
  body.fst-search-page .fst-filter-bar__desktop {
    display: none !important;
  }
  body.fst-search-page .fst-filter-bar__mobile {
    display: flex !important;
    gap: 8px;
  }
}

/*
 * ROOT CAUSE FIX: never put display:grid + 4 columns on .fst-search-serp__grid.
 * That wrapper has ONE child (.shop-grid) — grid placed it in track 1 (~25%/303px),
 * then inner .shop-grid also got 4 cols → 64px crushed cards + empty right space.
 */
body.fst-search-page .fst-search-serp__grid,
body.fst-search-page [data-fst-search-grid] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
}

/* Only the product list is a 4-col grid */
body.fst-search-page .fst-search-serp__grid > .shop-grid,
body.fst-search-page .fst-search-serp__grid > ul.products,
body.fst-search-page .fst-search-serp__grid .shop-grid.shop-grid--columns-4,
body.fst-search-page .site-main > .shop-grid,
body.fst-search-page .shop-grid.shop-grid--columns-4,
body.fst-search-page ul.products.shop-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

body.fst-search-page .shop-grid > .shop-item,
body.fst-search-page .shop-grid > .product,
body.fst-search-page ul.products > .shop-item,
body.fst-search-page ul.products > li.product,
body.fst-search-page .fst-search-serp__grid .shop-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  flex-basis: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

body.fst-search-page .shop-item__image,
body.fst-search-page .shop-item__image img,
body.fst-search-page .shop-item-inner > .shop-item__image {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px;
}

body.fst-search-page .shop-item__title {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  word-break: normal !important;
  height: auto !important;
  max-height: 3em !important;
}

body.fst-search-page .shop-grid.is-loading {
  opacity: 0.55;
  pointer-events: none;
  position: relative;
}

@media (max-width: 1199px) {
  body.fst-search-page .fst-search-serp__grid > .shop-grid,
  body.fst-search-page .shop-grid.shop-grid--columns-4,
  body.fst-search-page ul.products.shop-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  body.fst-search-page .fst-search-serp__grid > .shop-grid,
  body.fst-search-page .shop-grid.shop-grid--columns-4,
  body.fst-search-page ul.products.shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 10px !important;
  }
}

/* SERP pagination — premium pills (WP nav-links + WC markup) */
body.fst-search-page .woocommerce-pagination,
body.fst-search-page .fst-search-pagination,
body.fst-search-page .navigation.pagination,
body.fst-search-page nav.navigation.pagination {
  margin: 28px 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: left !important;
}
body.fst-search-page .woocommerce-pagination .screen-reader-text,
body.fst-search-page .navigation.pagination .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}
body.fst-search-page .woocommerce-pagination .nav-links,
body.fst-search-page .navigation.pagination .nav-links,
body.fst-search-page .woocommerce-pagination ul.page-numbers,
body.fst-search-page .navigation.pagination ul.page-numbers,
body.fst-search-page .fst-search-pagination ul.page-numbers {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
  background: none !important;
}
body.fst-search-page .woocommerce-pagination ul.page-numbers > li,
body.fst-search-page .navigation.pagination ul.page-numbers > li,
body.fst-search-page .fst-search-pagination ul.page-numbers > li {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  float: none !important;
}
body.fst-search-page .woocommerce-pagination a.page-numbers,
body.fst-search-page .woocommerce-pagination span.page-numbers,
body.fst-search-page .navigation.pagination a.page-numbers,
body.fst-search-page .navigation.pagination span.page-numbers,
body.fst-search-page .fst-search-pagination a.page-numbers,
body.fst-search-page .fst-search-pagination span.page-numbers,
body.fst-search-page .nav-links a.page-numbers,
body.fst-search-page .nav-links span.page-numbers {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #5c5c5c !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease,
    box-shadow 0.18s ease;
}
body.fst-search-page .woocommerce-pagination a.page-numbers:hover,
body.fst-search-page .woocommerce-pagination a.page-numbers:focus,
body.fst-search-page .navigation.pagination a.page-numbers:hover,
body.fst-search-page .navigation.pagination a.page-numbers:focus,
body.fst-search-page .nav-links a.page-numbers:hover,
body.fst-search-page .nav-links a.page-numbers:focus {
  border-radius: 12px !important;
  border-color: rgba(216, 27, 96, 0.35) !important;
  background: rgba(216, 27, 96, 0.06) !important;
  color: #d81b60 !important;
  outline: none !important;
  text-decoration: none !important;
}
body.fst-search-page .woocommerce-pagination span.page-numbers.current,
body.fst-search-page .navigation.pagination span.page-numbers.current,
body.fst-search-page .nav-links span.page-numbers.current,
body.fst-search-page .fst-search-pagination span.page-numbers.current {
  border-color: #d81b60 !important;
  background: #d81b60 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(216, 27, 96, 0.28) !important;
  pointer-events: none;
}
body.fst-search-page .woocommerce-pagination span.page-numbers.dots,
body.fst-search-page .navigation.pagination span.page-numbers.dots,
body.fst-search-page .nav-links span.page-numbers.dots {
  min-width: 28px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #b0b0b0 !important;
  box-shadow: none !important;
  pointer-events: none;
}
body.fst-search-page .woocommerce-pagination a.prev,
body.fst-search-page .woocommerce-pagination a.next,
body.fst-search-page .navigation.pagination a.prev,
body.fst-search-page .navigation.pagination a.next {
  font-size: 16px !important;
}

.fst-search-zero {
  padding: 18px 0 40px;
}
.fst-search-zero__text {
  font-size: 16px;
  line-height: 1.5;
  color: #3a3a3a;
  max-width: 52ch;
  margin: 0 0 16px;
}
.fst-search-zero__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.fst-search-zero__hits-title {
  font-size: 20px;
  margin: 0 0 14px;
}
.fst-search-zero__track .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 720px) {
  .fst-search-zero__track .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.fst-search-zero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.fst-search-zero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 12px;
  font-weight: 700;
  text-decoration: none;
  font-size: 14px;
}
.fst-search-zero__btn--wa {
  background: #25d366;
  color: #fff;
}
.fst-search-zero__btn--max {
  background: #5b50f6;
  color: #fff;
}
.fst-search-zero__btn--tg {
  background: #2aabee;
  color: #fff;
}

@media (max-width: 767px) {
  .fst-search-dd { display: none !important; }
}
@media (min-width: 768px) {
  .fst-search-mob { display: none !important; }
}
