/* FindMari-only: like-button fix + dispensary/category icon filters. */

/* ---- like/save/share: kill the red box the theme paints on button focus ---- */
.xfl-deal-act, .xfl-deal-act:hover, .xfl-deal-act:focus, .xfl-deal-act:active,
.xfl-deal-act:focus-visible,
.xfl-deal-like, .xfl-deal-like.is-on,
.xfl-deal-save, .xfl-deal-save.is-on,
.xfl-deal-share, .xfl-deal-share.is-copied {
  background: none !important; background-color: transparent !important;
  box-shadow: none !important; border: 0 !important; outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
.xfl-deal-act, .xfl-deal-act:hover, .xfl-deal-act:focus, .xfl-deal-act:active { color: #334155 !important; }
.xfl-deal-like.is-on { color: #e0245e !important; }
.xfl-deal-like.is-on .xfl-ic { fill: #e0245e !important; stroke: #e0245e !important; }
.xfl-deal-save.is-on { color: #0ea5a5 !important; }
.xfl-deal-save.is-on .xfl-ic { fill: #0ea5a5 !important; stroke: #0ea5a5 !important; }

/* ---- a card hidden by our filters stays hidden regardless of the core ---- */
.xfl-deal-card.fm-hide, .xfl-deal-feed-slide.fm-hide { display: none !important; }

/* ---- filter trigger (icon tile) ---- */
.fm-f-trigger {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 15px; background: #eafaf1;
  border: 1px solid rgba(31,178,104,.18); color: #0f7a43; cursor: pointer; margin-right: 12px;
  box-shadow: 0 1px 2px rgba(15,26,20,.05);
  transition: background .12s, color .12s, box-shadow .12s, border-color .12s;
}
.fm-f-trigger .fm-f-ic { display: inline-flex; align-items: center; justify-content: center; color: inherit; }
.fm-f-trigger .fm-f-caret { position: absolute; right: 5px; bottom: 4px; font-size: 8px; line-height: 1; color: #8a978f; }
.fm-f-trigger:hover { background: #dff4e8; }
.fm-f-trigger.is-open { background: #1fb268; color: #fff; border-color: #1fb268; box-shadow: 0 4px 12px rgba(31,178,104,.28); }
.fm-f-trigger.is-open .fm-f-caret { color: rgba(255,255,255,.85); }
.fm-f-badge {
  position: absolute; top: -4px; right: -4px;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
  background: #fff; color: #0f7a43; border: 1.5px solid #1fb268; font-size: 11px; font-weight: 800;
  display: inline-flex; align-items: center; justify-content: center;
}
.fm-f-dot { min-width: 12px; width: 12px; height: 12px; padding: 0; background: #1fb268; border-color: #fff; }
.fm-f-grid--type { grid-template-columns: repeat(2, 1fr); }

/* ---- popover grid ---- */
.fm-f-pop {
  position: fixed; z-index: 100000;
  width: min(380px, calc(100vw - 20px)); max-height: 66vh; overflow-y: auto;
  background: #fff; border: 1px solid rgba(15,26,20,.12); border-radius: 16px;
  box-shadow: 0 18px 44px rgba(15,26,20,.22); padding: 12px;
}
.fm-f-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.fm-f-grid--cat { grid-template-columns: repeat(2, 1fr); }
.fm-f-card {
  display: flex; align-items: center; justify-content: center; min-height: 58px;
  padding: 10px; border: 1px solid rgba(15,26,20,.1); border-radius: 12px;
  background: #fff; cursor: pointer; transition: border-color .12s, box-shadow .12s;
}
.fm-f-card:hover { border-color: #1fb268; }
.fm-f-card.is-active { border-color: #1fb268; background: #eafaf1; box-shadow: 0 0 0 2px rgba(31,178,104,.35); }
.fm-f-card img { max-height: 34px; max-width: 84%; width: auto; object-fit: contain; display: block; }
.fm-f-name { font-size: 14px; font-weight: 700; color: #2b3a31; text-align: center; }
.fm-f-all { font-weight: 800; color: #0f7a43; }
.fm-f-grid--cat .fm-f-card { min-height: 46px; }

/* ---- kill the theme's red focus/active/selected background on OUR buttons ---- */
.xfl-deals .fm-f-trigger, .xfl-deals .fm-f-trigger:hover, .xfl-deals .fm-f-trigger:focus,
.xfl-deals .fm-f-trigger:active, .xfl-deals .fm-f-trigger:focus-visible,
.xfl-deals .fm-f-card, .xfl-deals .fm-f-card:hover, .xfl-deals .fm-f-card:focus,
.xfl-deals .fm-f-card:active, .xfl-deals .fm-f-card:focus-visible {
  outline: none !important; box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
  background-image: none !important; background-color: #fff !important; color: #2b3a31 !important;
}
/* selected card stays on the green theme in every interaction state */
.xfl-deals .fm-f-card.is-active,
.xfl-deals .fm-f-card.is-active:hover, .xfl-deals .fm-f-card.is-active:focus,
.xfl-deals .fm-f-card.is-active:active, .xfl-deals .fm-f-card.is-active:focus-visible {
  background-color: #eafaf1 !important; background-image: none !important;
  border-color: #1fb268 !important; color: #0f7a43 !important;
  box-shadow: 0 0 0 2px rgba(31,178,104,.35) !important;
}
.xfl-deals .fm-f-trigger:focus, .xfl-deals .fm-f-trigger:active,
.xfl-deals .fm-f-trigger:focus-visible { background-color: #fff !important; box-shadow: none !important; }


/* ---- account: Following tab vendor grid ---- */
.fm-follow-head { margin: 2px 2px 12px; color: #4b5a51; font-size: 13.5px; line-height: 1.4; }
.fm-follow-grid { margin-top: 2px; }
.fm-follow-card { flex-direction: column; gap: 9px; min-height: 96px; padding: 12px 10px; }
.fm-follow-card img { max-height: 40px; }
.fm-follow-badge { font-size: 12px; font-weight: 800; color: #7a877f; letter-spacing: .2px; }
.fm-follow-card.is-active .fm-follow-badge { color: #0f7a43; }

/* ---- account: page header (greeting) ---- */
.xfl-account-page .xfl-account-head { padding-top: 20px; margin: 0 0 18px; }
.xfl-account-page .xfl-account-title {
  margin: 0; font-size: 28px; line-height: 1.12; font-weight: 800;
  letter-spacing: -0.02em; color: #14241b; text-wrap: balance;
}
.xfl-account-page .fm-acct-sub { margin: 7px 0 0; color: #6b7a72; font-size: 14px; line-height: 1.45; max-width: 46ch; }
