.csse-autocomplete {
  position: absolute;
  left: 0;
  right: auto;
  width: 320px;
  min-width: 220px;
  box-sizing: border-box;
  top: 0;
  z-index: 11000;
  background: #fff !important;
  opacity: 1 !important;
  border: 1px solid rgba(16, 24, 40, 0.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.14);
  overflow: hidden;
  min-height: 220px;
  max-height: min(72vh, 620px);
  overflow-y: auto;
  mix-blend-mode: normal;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate;
  transform: translateZ(0);
  pointer-events: auto !important;
}

.csse-autocomplete-floating {
  position: fixed !important;
  margin: 0 !important;
}

.csse-autocomplete,
.csse-autocomplete * {
  opacity: 1 !important;
}

.csse-search-shortcode-wrap {
  position: relative;
  z-index: 10990;
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

.csse-group-title {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #667085;
  padding: 10px 12px 6px;
  background: #f8fafc !important;
}

.csse-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  font-size: 14px;
  color: #101828;
  text-decoration: none;
  border: 0;
  background: #fff !important;
  cursor: pointer;
}

.csse-product {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.csse-products-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.csse-autocomplete.csse-two-col .csse-products-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 10px;
}

.csse-product-media {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  background: transparent !important;
  display: inline-block;
}

.csse-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.csse-product-media-placeholder {
  border: 1px solid #e5e7eb;
}

.csse-product-body {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.csse-product-title {
  color: #101828;
  font-size: 14px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.csse-product-price {
  color: #b10f1f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.csse-item:hover,
.csse-item:focus {
  background: #f2f4f7;
}

.csse-show-all {
  border-top: 1px solid #e5e7eb;
  font-weight: 700;
  color: #b10f1f;
  text-align: center;
  padding-top: 12px;
  padding-bottom: 12px;
  line-height: 1.3;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff !important;
  box-shadow: 0 -10px 18px rgba(16, 24, 40, 0.08);
}

.csse-empty {
  padding: 12px;
  color: #667085;
  font-size: 14px;
}

.csse-shortcode-search {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 10px;
  align-items: center;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: 2px;
  border: 1.5px solid rgba(200, 18, 32, 0.75);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(16, 24, 40, 0.1);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  margin: 0 !important;
}

.fusion-layout-column .csse-shortcode-search,
.fusion-builder-column .csse-shortcode-search,
.fusion-column-wrapper .csse-shortcode-search,
.fusion-layout-column .csse-search-shortcode-wrap,
.fusion-builder-column .csse-search-shortcode-wrap,
.fusion-column-wrapper .csse-search-shortcode-wrap,
.fusion-layout-column .fusion-column-wrapper .csse-search-shortcode-wrap,
.fusion-layout-column .fusion-column-wrapper .csse-shortcode-search,
.fusion-header .csse-search-shortcode-wrap,
.fusion-header .csse-shortcode-search {
  width: 100% !important;
  max-width: none !important;
}

/* Keep the CSSE search field vertically centered within the header row height */
.fusion-header .csse-search-shortcode-wrap {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  height: 100%;
}

.fusion-header .csse-search-shortcode-wrap .csse-shortcode-search {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

/* Keep Avada menus above search UI, while suggestions stay above header background */
.fusion-header .fusion-main-menu,
.fusion-header .fusion-main-menu .sub-menu {
  z-index: 12000 !important;
}

.fusion-header .fusion-column-wrapper,
.fusion-layout-column .fusion-column-wrapper,
.fusion-builder-column .fusion-column-wrapper {
  overflow: visible;
}

.csse-shortcode-search:focus-within {
  border-color: #b10f1f;
  box-shadow: 0 2px 8px rgba(200, 18, 32, 0.16);
}

.csse-shortcode-search .search-field {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  flex: 1 1 auto;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  font-size: 15px;
  line-height: 1.25;
  color: #111827;
  box-shadow: none !important;
  outline: none;
  appearance: none;
}

.csse-shortcode-search .search-field::placeholder {
  color: #9ca3af;
}

.csse-shortcode-search .search-submit {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  float: none !important;
  margin: 0 !important;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  height: 36px;
  min-width: 42px;
  width: 42px;
  padding: 0;
  border: 0 !important;
  border-radius: 8px;
  background: linear-gradient(180deg, #dd1f2d 0%, #b90f1d 100%) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(185, 15, 29, 0.35);
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
  appearance: none;
}

.csse-shortcode-search .csse-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.csse-shortcode-search .csse-search-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.csse-shortcode-search .search-submit:hover {
  filter: brightness(1.04);
  box-shadow: 0 6px 14px rgba(185, 15, 29, 0.45);
}

.csse-shortcode-search .search-submit:active {
  transform: translateY(1px);
}

.csse-shortcode-search .search-submit:focus-visible {
  outline: 2px solid rgba(185, 15, 29, 0.45);
  outline-offset: 1px;
}

/* Prevent theme-specific decorative notches/arrows from leaking into this button */
.csse-shortcode-search .search-submit::before,
.csse-shortcode-search .search-submit::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 640px) {
  .csse-shortcode-search {
    max-width: none;
    width: 100%;
  }

  .csse-shortcode-search .search-submit {
    min-width: 40px;
    width: 40px;
    padding: 0;
  }
}

/* Product search result fallback visibility (Avada layout can inject an empty header row) */
body.search.post-type-archive-product .woocommerce-products-header .post-content {
  display: none !important;
}

body.search.post-type-archive-product .woocommerce-ordering {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.search.post-type-archive-product ul.products {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.search.post-type-archive-product ul.products li.product {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.csse-results-page {
  padding: 24px 0 12px;
}

.csse-results-head {
  margin-bottom: 14px;
}

.csse-results-title {
  margin: 0;
  font-size: clamp(28px, 4.2vw, 54px);
  line-height: 1.1;
  color: #3f3d4d;
}

.csse-results-count {
  margin: 10px 0 0;
  color: #4b5563;
  font-size: 16px;
}

.csse-empty-search-note {
  margin: 10px 0 24px;
  font-size: 18px;
  color: #1f2937;
}

.csse-results-page .page-numbers {
  margin: 14px 0 6px;
  display: flex;
  gap: 6px;
  list-style: none;
  padding: 0;
}

.csse-results-page .page-numbers a,
.csse-results-page .page-numbers span {
  display: inline-flex;
  min-width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  color: #111827;
  text-decoration: none;
}

.csse-results-page .page-numbers .current {
  background: #b90f1d;
  border-color: #b90f1d;
  color: #fff;
}

/* Dedicated CSSE results page: full-width content without left sidebar */
body.csse-results-layout #main,
body.csse-results-layout #wrapper {
  width: 100% !important;
  max-width: none !important;
}

body.csse-results-layout #content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.csse-results-layout #sidebar,
body.csse-results-layout .fusion-sidebar-column,
body.csse-results-layout .fusion-sidebar-left,
body.csse-results-layout .fusion-sidebar-right {
  display: none !important;
}

body.csse-results-layout #main .fusion-row,
body.csse-results-layout #wrapper .fusion-row {
  width: 100% !important;
  max-width: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box;
}

/* 7 products per row on CSSE search page */
.csse-results-page ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.csse-results-page ul.products li.product {
  width: 14.2857% !important;
  max-width: 14.2857% !important;
  flex: 0 0 14.2857% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline-start: 0 !important;
  margin-inline-end: 0 !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
}

.csse-results-page ul.products li.product.first,
.csse-results-page ul.products li.product.last {
  clear: none !important;
  margin-left: 0 !important;
}

/* Avada may inject sizing helpers for isotope-like layouts */
.csse-results-page ul.products > li.product-grid-sizer,
.csse-results-page ul.products > li.fusion-grid-sizer,
.csse-results-page ul.products > li[class*="grid-sizer"] {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 1700px) {
  .csse-results-page ul.products li.product {
    width: 16.6666% !important;
    max-width: 16.6666% !important;
    flex-basis: 16.6666% !important;
  }
}

@media (max-width: 1400px) {
  .csse-results-page ul.products li.product {
    width: 20% !important;
    max-width: 20% !important;
    flex-basis: 20% !important;
  }
}

@media (max-width: 1100px) {
  .csse-results-page ul.products li.product {
    width: 25% !important;
    max-width: 25% !important;
    flex-basis: 25% !important;
  }
}

@media (max-width: 820px) {
  body.csse-results-layout #main .fusion-row,
  body.csse-results-layout #wrapper .fusion-row {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .csse-results-page ul.products {
    gap: 0;
  }

  .csse-results-page ul.products li.product {
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    flex-basis: 33.3333% !important;
  }
}

@media (max-width: 560px) {
  .csse-results-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
  }

  .csse-results-count {
    font-size: 14px;
  }

  .csse-results-page ul.products li.product {
    width: 50% !important;
    max-width: 50% !important;
    flex-basis: 50% !important;
  }
}

@media (max-width: 420px) {
  .csse-results-page ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
}
