/* Mate AI Smart Search v1.0.6 — all selectors are scoped; no floating chatbot styles. */
.mate-smart-search,
.mate-smart-search * { box-sizing: border-box !important; }

section.mate-smart-search {
  --ms-accent: #24694a;
  --ms-accent-hover: #19563b;
  --ms-ink: #1f342b;
  --ms-muted: #67766d;
  --ms-outline: #dfe8e1;
  display: block !important;
  position: relative;
  isolation: isolate;
  width: 100% !important;
  max-width: 1180px;
  margin: 16px auto !important;
  padding: 28px 30px 26px !important;
  border: 1px solid var(--ms-outline) !important;
  border-radius: 18px !important;
  background: #f9fbf9 !important;
  color: var(--ms-ink) !important;
  box-shadow: 0 8px 28px rgba(20, 55, 35, .045);
  font-family: inherit;
  line-height: 1.5;
  text-align: left !important;
}

.mate-smart-search .mate-smart-search__intro { margin: 0 0 19px !important; padding: 0 !important; }
.mate-smart-search .mate-smart-search__eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  margin: 0 0 9px !important;
  color: var(--ms-accent) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: .14em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.mate-smart-search .mate-smart-search__eyebrow span { font-size: 16px; letter-spacing: 0; }
.mate-smart-search h2.mate-smart-search__title {
  display: block !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ms-ink) !important;
  font-family: inherit !important;
  font-size: clamp(22px, 2.6vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}
.mate-smart-search .mate-smart-search__intro p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ms-muted) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

/* Explicit grid columns stop WordPress/Elementor theme rules from expanding the button over the input. */
.mate-smart-search form.mate-smart-search__form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 142px !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mate-smart-search .mate-smart-search__field {
  display: flex !important;
  grid-column: 1;
  grid-row: 1;
  position: relative !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 53px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  border: 1px solid #cfdcd1 !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(10, 46, 29, .025) !important;
  overflow: hidden !important;
  transition: border-color .16s, box-shadow .16s;
}
.mate-smart-search .mate-smart-search__field:focus-within {
  border-color: #5eaa7d !important;
  box-shadow: 0 0 0 3px rgba(41, 127, 73, .13) !important;
}
.mate-smart-search .mate-smart-search__glass {
  display: inline-flex !important;
  position: absolute !important;
  top: 50%; left: 16px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  color: #84958b;
  pointer-events: none;
  transform: translateY(-50%);
}
.mate-smart-search .mate-smart-search__glass svg { display: block; width: 19px; height: 19px; }
.mate-smart-search form.mate-smart-search__form input.mate-smart-search__input[type="search"] {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 14px 0 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ms-ink) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  text-align: left !important;
  text-transform: none !important;
  -webkit-appearance: none;
  appearance: none;
}
.mate-smart-search input.mate-smart-search__input::placeholder { color: #87968b !important; opacity: 1 !important; }
.mate-smart-search input.mate-smart-search__input::-webkit-search-cancel-button { cursor: pointer; }
.mate-smart-search form.mate-smart-search__form button.mate-smart-search__submit[type="submit"] {
  display: inline-flex !important;
  grid-column: 2;
  grid-row: 1;
  position: relative !important;
  float: none !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  gap: 8px !important;
  width: 142px !important;
  min-width: 0 !important;
  max-width: 142px !important;
  height: 53px !important;
  min-height: 53px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid var(--ms-accent) !important;
  border-radius: 11px !important;
  background: var(--ms-accent) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transform: none !important;
  cursor: pointer;
  transition: background .16s, box-shadow .16s;
}
.mate-smart-search .mate-smart-search__submit svg { display: block; width: 17px; height: 17px; flex-shrink: 0; }
.mate-smart-search .mate-smart-search__submit span { display: inline !important; }
.mate-smart-search form.mate-smart-search__form button.mate-smart-search__submit:hover:not(:disabled) { background: var(--ms-accent-hover) !important; }
.mate-smart-search form.mate-smart-search__form button.mate-smart-search__submit:focus-visible,
.mate-smart-search button.mate-smart-search__chip:focus-visible { outline: 3px solid #8fcbaa !important; outline-offset: 2px !important; }
.mate-smart-search form.mate-smart-search__form button.mate-smart-search__submit:disabled { opacity: .7; cursor: wait; }

.mate-smart-search .mate-smart-search__ideas {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
.mate-smart-search .mate-smart-search__ideas > span {
  margin-right: 2px !important;
  color: var(--ms-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
.mate-smart-search button.mate-smart-search__chip[type="button"] {
  display: inline-flex !important;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 32px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px 11px !important;
  border: 1px solid #dce7de !important;
  border-radius: 100px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #52705e !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
  transform: none !important;
  cursor: pointer;
  transition: border-color .16s, background .16s;
}
.mate-smart-search button.mate-smart-search__chip:hover { border-color: #9cbfa8 !important; background: #f0f7f1 !important; }

/* Results */
.mate-smart-search .mate-smart-search__results { margin-top: 24px !important; padding-top: 23px !important; border-top: 1px solid var(--ms-outline) !important; }
.mate-smart-search .mate-smart-search__results { scroll-margin-top: 110px !important; }
@media (max-width: 620px) { .mate-smart-search .mate-smart-search__results { scroll-margin-top: 88px !important; } }
.mate-smart-search__results[hidden], .mate-smart-search__answer[hidden], .mate-smart-search__products[hidden],
.mate-smart-search__menus[hidden], .mate-smart-search__pages[hidden], .mate-smart-search__map[hidden], .mate-smart-search__note[hidden] { display: none !important; }
.mate-smart-search .mate-smart-search__status { font-size: 13px; color: var(--ms-muted); }
.mate-smart-search--loading .mate-smart-search__status::before { content: ''; display: inline-block; width: 14px; height: 14px; vertical-align: -3px; border: 2px solid #c9e1d2; border-top-color: var(--ms-accent); border-radius: 50%; margin-right: 9px; animation: mate-smart-search-spin .8s linear infinite; }
@keyframes mate-smart-search-spin { to { transform: rotate(360deg); } }
.mate-smart-search .mate-smart-search__answer { border-left: 3px solid #4b996d; padding: 2px 0 2px 15px; margin-bottom: 22px; }
.mate-smart-search .mate-smart-search__answer-label { font-size: 12px; letter-spacing: .04em; color: var(--ms-accent); font-weight: 750; margin: 0 0 7px; }
.mate-smart-search .mate-smart-search__answer p { margin: 0 !important; line-height: 1.65; color: var(--ms-ink); font-size: 14px; }
.mate-smart-search .mate-smart-search__products h3, .mate-smart-search .mate-smart-search__pages h3 { font-family: inherit !important; font-size: 16px !important; font-weight: 700 !important; text-transform: none !important; margin: 0 0 13px !important; color: var(--ms-ink) !important; }
.mate-smart-search .mate-smart-search__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr)); gap: 11px; }
.mate-smart-search .mate-smart-search__product { display: flex; align-items: center; position: relative; gap: 11px; min-width: 0; min-height: 90px; padding: 9px 26px 9px 9px; border: 1px solid var(--ms-outline); background: #fff; border-radius: 11px; text-decoration: none !important; color: inherit !important; transition: transform .16s, box-shadow .16s, border-color .16s; }
.mate-smart-search .mate-smart-search__product:hover { transform: translateY(-2px); border-color: #aad1b4; box-shadow: 0 6px 15px rgba(21, 65, 46, .08); }
.mate-smart-search .mate-smart-search__product img, .mate-smart-search .mate-smart-search__image-fallback { width: 68px; height: 68px; border-radius: 9px; flex-shrink: 0; object-fit: cover; background: #edf5ee; }
.mate-smart-search .mate-smart-search__image-fallback { display: grid; place-items: center; color: var(--ms-accent); font-size: 22px; }
.mate-smart-search .mate-smart-search__product-info { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 3px; }
.mate-smart-search .mate-smart-search__product-info small { font-size: 11px; color: #7a8a7e; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.mate-smart-search .mate-smart-search__product-info strong { font-size: 13px; line-height: 1.35; font-weight: 700; color: var(--ms-ink); }
.mate-smart-search .mate-smart-search__price { font-size: 13px; color: var(--ms-accent); font-weight: 600; }
.mate-smart-search .mate-smart-search__product-arrow { position: absolute; top: 12px; right: 12px; color: #7c9d87; font-size: 15px; }
.mate-smart-search .mate-smart-search__pages { margin-top: 19px; }
.mate-smart-search .mate-smart-search__page-list { display: flex; flex-wrap: wrap; gap: 8px; }
.mate-smart-search .mate-smart-search__page-list a, .mate-smart-search .mate-smart-search__map-link { display: inline-flex; text-decoration: none !important; border-radius: 8px; padding: 8px 12px; border: 1px solid var(--ms-outline); background: #fff; color: var(--ms-accent) !important; font-weight: 600; font-size: 13px; }
.mate-smart-search .mate-smart-search__page-list a:hover, .mate-smart-search .mate-smart-search__map-link:hover { border-color: #8dbca0; }
.mate-smart-search .mate-smart-search__map { margin-top: 15px; }
.mate-smart-search .mate-smart-search__note { font-size: 11px !important; line-height: 1.55; color: var(--ms-muted); margin: 19px 0 0 !important; }
.mate-smart-search .mate-smart-search__sr { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0); white-space: nowrap !important; border: 0 !important; }

@media (max-width: 620px) {
  section.mate-smart-search {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    margin-left: calc(50% - 50vw + 10px) !important;
    margin-right: calc(50% - 50vw + 10px) !important;
    padding: 22px 14px 20px !important;
    border-radius: 15px !important;
  }
  .mate-smart-search h2.mate-smart-search__title { font-size: 24px !important; }
  .mate-smart-search .mate-smart-search__intro { margin-bottom: 17px !important; }
  .mate-smart-search .mate-smart-search__intro p { font-size: 13px !important; }
  .mate-smart-search form.mate-smart-search__form { grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; }
  .mate-smart-search .mate-smart-search__field { grid-column: 1; grid-row: 1; height: 49px !important; }
  .mate-smart-search form.mate-smart-search__form button.mate-smart-search__submit[type="submit"] { grid-column: 1; grid-row: 2; width: 100% !important; max-width: none !important; height: 46px !important; min-height: 46px !important; }
  .mate-smart-search form.mate-smart-search__form input.mate-smart-search__input[type="search"] { font-size: 14px !important; }
  .mate-smart-search .mate-smart-search__ideas { margin-top: 12px !important; }
}    
@media (max-width: 420px) {
  section.mate-smart-search {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-left: calc(50% - 50vw + 8px) !important;
    margin-right: calc(50% - 50vw + 8px) !important;
    padding: 20px 12px 18px !important;
  }
  .mate-smart-search .mate-smart-search__ideas { gap: 8px 6px !important; }
  .mate-smart-search button.mate-smart-search__chip[type="button"] { padding: 7px 10px !important; font-size: 12px !important; }
}
@media (prefers-reduced-motion: reduce) { .mate-smart-search *, .mate-smart-search *::before { animation: none !important; transition: none !important; } }


/* Full category menu calls-to-action (links generated from live WooCommerce categories). */
.mate-smart-search .mate-smart-search__menus { margin: 20px 0 0 !important; }
.mate-smart-search .mate-smart-search__menus h3 {
  margin: 0 0 10px !important; color: var(--ms-ink) !important;
  font-family: inherit !important; font-size: 15px !important;
  font-weight: 700 !important; line-height: 1.4 !important; text-transform: none !important;
}
.mate-smart-search .mate-smart-search__menu-list {
  display: flex !important; flex-wrap: wrap !important; gap: 9px !important;
}
.mate-smart-search a.mate-smart-search__menu-link {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: auto !important; max-width: 100% !important; min-height: 39px !important;
  padding: 9px 15px !important; margin: 0 !important;
  background: var(--ms-accent) !important; color: #fff !important;
  border: 1px solid var(--ms-accent) !important; border-radius: 9px !important;
  box-shadow: none !important; font-family: inherit !important;
  font-size: 13px !important; font-weight: 650 !important; line-height: 1.4 !important;
  letter-spacing: 0 !important; text-align: center !important;
  text-decoration: none !important; text-transform: none !important;
  transition: background .15s, box-shadow .15s;
}
.mate-smart-search a.mate-smart-search__menu-link:hover,
.mate-smart-search a.mate-smart-search__menu-link:focus-visible {
  color: #fff !important; background: var(--ms-accent-hover) !important;
  text-decoration: none !important;
}
.mate-smart-search a.mate-smart-search__menu-link:focus-visible { outline: 3px solid #8fcbaa !important; outline-offset: 2px !important; }
@media (max-width: 620px) {
  .mate-smart-search .mate-smart-search__menu-list { flex-direction: column !important; align-items: stretch !important; }
  .mate-smart-search a.mate-smart-search__menu-link { width: 100% !important; }
}

/* v1.0.6: category suggestions in compact Food/Drinks rows (mobile swipe). */
.mate-smart-search .mate-smart-search__category-groups {
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
}
.mate-smart-search .mate-smart-search__category-row {
  display: grid !important;
  grid-template-columns: 52px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.mate-smart-search .mate-smart-search__category-label {
  padding-top: 8px !important;
  color: var(--ms-muted) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.mate-smart-search .mate-smart-search__category-scroll {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 1px 5px 1px !important;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #c6dacc transparent;
}
.mate-smart-search .mate-smart-search__category-scroll button.mate-smart-search__chip[type="button"] {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  min-height: 33px !important;
  scroll-snap-align: start;
}
.mate-smart-search .mate-smart-search__category-scroll:focus-visible {
  outline: 2px solid #8fcbaa !important;
  outline-offset: 2px !important;
  border-radius: 6px;
}
@media (min-width: 621px) {
  .mate-smart-search .mate-smart-search__category-scroll {
    flex-wrap: wrap !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
}
@media (max-width: 620px) {
  .mate-smart-search .mate-smart-search__category-row {
    grid-template-columns: 45px minmax(0,1fr) !important;
    gap: 5px !important;
  }
}
