/* ============================================================
   MENTIONED — OVERRIDES (priority 100, loaded last)
   Reserved for cascade fights against plugins (GeoDirectory, UsersWP, Woo,
   etc.) once they're installed and their styles start leaking into Mentioned
   pages. Keep this file present so the enqueue stack is stable.
   ============================================================ */

/* Reset any plugin-injected margin on the body / main wrapper. */
.mn-body .mn-main { display: block; }

/* Ensure form inputs in the search bar don't pick up plugin chrome. */
.mn-body .mn-search__input:focus { outline: none; box-shadow: none; }

/* Defensive: kill any underline plugins try to inject on .mn-card. */
.mn-body a.mn-card,
.mn-body a.mn-card:hover { text-decoration: none; }

/* ------------------------------------------------------------
   Logo marks — the text wordmark (Oswald + Source-Serif italic dot)
   is replaced by the outlined Oswald SVG (header primary / footer reverse).
   Size the <img>; the old text font-size rules on .logotype/.wordmark
   become inert (no text node) but we neutralize line-height just in case.
   ------------------------------------------------------------ */
.mn-body .logotype { line-height: 0; }
.mn-body .logotype img { display: block; height: 26px; width: auto; }
@media (max-width: 768px) {
  .mn-body .logotype img { height: 24px; }
}

/* ============================================================
   3A recommendation rows — claimed-listing tabs (Recommendations / Mentions / Circle)
   ============================================================ */
.mn-body .mn-rec-list { display: flex; flex-direction: column; }
.mn-body .mn-rec-row { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 0.5px solid var(--mn-hairline, #EAE5DC); }
.mn-body .mn-rec-row:last-child { border-bottom: none; }
.mn-body .mn-rec-av { flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--mn-forest, #04342C); color: var(--mn-cream, #F4F1EC); display: flex; align-items: center; justify-content: center; font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 14px; font-weight: 500; }
.mn-body .mn-rec-body { flex: 1; min-width: 0; }
.mn-body .mn-rec-who { font-family: var(--mn-font-body, 'Inter', sans-serif); font-weight: 500; font-size: 16px; color: var(--mn-forest, #04342C); line-height: 1.3; }
.mn-body .mn-rec-what { font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 14px; color: var(--mn-ink-mid, #555); margin-top: 3px; line-height: 1.5; }
.mn-body .mn-rec-cta { margin-top: 20px; }
.mn-body .mn-recommend-btn { font-family: var(--mn-font-body, 'Inter', sans-serif); font-weight: 500; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mn-forest, #04342C); background: transparent; border: 1.5px solid var(--mn-forest, #04342C); border-radius: 999px 999px 0 999px; padding: 11px 22px; cursor: pointer; transition: background .2s, color .2s; }
.mn-body .mn-recommend-btn:hover { background: var(--mn-forest, #04342C); color: var(--mn-cream, #F4F1EC); }

/* Tap-only recommendation display (public) — vibe + positive tag chips on rec rows. */
.mn-body .mn-rec-vibe { font-style:normal; color: var(--mn-forest-2, #085041); font-family: var(--mn-font-body, 'Inter', sans-serif); }
.mn-body .mn-rec-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.mn-body .mn-rec-tag {
  font-family: var(--mn-font-body, 'Inter', sans-serif);
  font-size: 11px; letter-spacing: 0.02em; line-height: 1;
  padding: 5px 11px; border-radius: 20px 20px 0 20px;
  background: var(--mn-mint, #E1F5EE); color: var(--mn-forest, #04342C);
}

/* ------------------------------------------------------------
   Recommendation tier ladder (People/Owners brief PART 2). Stat tiles,
   per-row owner actions, Featured dates, aggregate "vouched for" bars,
   and tier upsell lockboxes. Aesthetic unchanged (Oswald + Source Serif 4,
   forest/coral/cream, button corner 999 999 0 999).
   ------------------------------------------------------------ */
.mn-body .mn-rec-stats { display: flex; flex-wrap: wrap; gap: 12px; margin: 4px 0 22px; }
.mn-body .mn-rec-stat { flex: 1 1 120px; background: var(--mn-cream, #F4F1EC); border: 0.5px solid var(--mn-hairline, #E4DDD0); border-radius: 18px 18px 0 18px; padding: 14px 16px; }
.mn-body .mn-rec-stat__n { display: block; font-family: var(--mn-font-display, 'Oswald', sans-serif); font-weight: 600; font-size: 26px; color: var(--mn-forest, #04342C); line-height: 1; }
.mn-body .mn-rec-stat__l { display: block; margin-top: 5px; font-size: 12px; letter-spacing: 0.02em; color: var(--mn-muted, #8C857A); }

.mn-body .mn-rec-aside { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.mn-body .mn-rec-act { font-family: var(--mn-font-body, 'Inter', sans-serif); font-weight: 500; font-size: 11px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--mn-cream, #F4F1EC); background: var(--mn-forest, #04342C); border: 1.5px solid var(--mn-forest, #04342C); border-radius: 999px 999px 0 999px; padding: 7px 14px; cursor: pointer; white-space: nowrap; transition: opacity .2s; }
.mn-body .mn-rec-act--ghost { color: var(--mn-forest, #04342C); background: transparent; }
.mn-body .mn-rec-act.is-soon, .mn-body .mn-rec-act[disabled] { opacity: 0.45; cursor: not-allowed; }
.mn-body .mn-rec-chip { font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mn-green, #2E8B62); border: 1px solid var(--mn-green, #2E8B62); border-radius: 999px; padding: 5px 12px; white-space: nowrap; }
.mn-body .mn-rec-locked { font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mn-muted, #8C857A); white-space: nowrap; }
.mn-body .mn-rec-date { font-size: 12px; color: var(--mn-muted, #8C857A); margin-top: 6px; }

.mn-body .mn-rec-aggregate { margin-top: 26px; padding-top: 22px; border-top: 0.5px solid var(--mn-hairline, #E4DDD0); }
.mn-body .mn-rec-aggregate__h { font-family: var(--mn-font-display, 'Oswald', sans-serif); font-weight: 500; font-size: 18px; color: var(--mn-forest, #04342C); }
.mn-body .mn-rec-aggregate__sub { font-size: 13px; color: var(--mn-muted, #8C857A); margin: 3px 0 16px; }
.mn-body .mn-agg-list { display: flex; flex-direction: column; gap: 10px; }
.mn-body .mn-agg-row { display: flex; align-items: center; gap: 12px; }
.mn-body .mn-agg-row__l { flex: none; width: 140px; font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 13px; color: var(--mn-forest, #04342C); }
.mn-body .mn-agg-row__track { flex: 1; height: 9px; background: #efe9dd; border-radius: 999px; overflow: hidden; }
.mn-body .mn-agg-row__fill { display: block; height: 100%; background: var(--mn-forest, #04342C); border-radius: 999px; }
.mn-body .mn-agg-row__n { flex: none; width: 24px; text-align: right; font-family: var(--mn-font-display, 'Oswald', sans-serif); font-size: 13px; color: var(--mn-muted, #8C857A); }

.mn-body .mn-lockbox { background: #faf7f0; border: 1px dashed var(--mn-hairline, #E4DDD0); border-radius: 18px 18px 0 18px; padding: 22px; text-align: center; margin-top: 24px; }
.mn-body .mn-lockbox p { font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 14px; color: var(--mn-ink-mid, #555); line-height: 1.55; margin: 0 0 14px; }

@media (max-width: 560px) {
  .mn-body .mn-rec-aside { flex-direction: row; flex-wrap: wrap; }
  .mn-body .mn-agg-row__l { width: 96px; }
}

/* Relationship-graph tab (single listing) */
.mn-body .mn-graph-wrap { max-width: 480px; margin: 10px auto 0; }
.mn-body .mn-graph-wrap svg { display: block; width: 100%; height: auto; }

/* "Add to your circle" entry on a profile (owner viewing another business) */
.mn-body .mn-add-circle { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-family: var(--mn-font-body, 'Inter', sans-serif); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--mn-forest, #04342C); text-decoration: none; border-bottom: 1.5px solid var(--mn-coral, #D85A30); padding-bottom: 2px; }
.mn-body .mn-add-circle:hover { color: var(--mn-coral, #D85A30); }

/* §4 recommend-swap — gated CTA (link styled as the recommend button) + owner self-note */
a.mn-recommend-btn--gated { display:inline-block; text-align:center; text-decoration:none; }
.mn-recommend-self { font-size:13px; color:var(--mn-ink-soft,#5b6b63); padding:10px 0 2px; line-height:1.5; }
.mn-recommend-self em { font-style:normal; }

/* ------------------------------------------------------------
   Tier rename (DISPLAY-ONLY): Pro → Featured. The directory listing-card
   corner badge text is set in page-directory.css as
   `.mn-listing-card.is-pro::after { content:'PRO' }`. Override the visible
   label here (mn-overrides loads last; identical selector wins on order).
   The data tier value stays 'pro' — this is a label change only. Badge uses
   padding (auto width), so the longer word fits without further tweaks.
   NOTE: page-directory.css + page-listing.css are NOW in the theme tree
   (restored from the phase-2 build at v1.5.1 after `wp theme install --force`
   had deleted the prior live-only copies). This override still wins on order,
   so it stays as the safe surface for the label change.
   ------------------------------------------------------------ */
.mn-body .mn-listing-card.is-pro::after { content: 'FEATURED'; }

/* ------------------------------------------------------------
   DESIGN LANGUAGE v3 (theme 1.5.0) — global no-italic guard.
   Font property only; no colour/background touched. Catches UA
   <em>/<i> italics and any GeoDirectory/plugin italic defaults
   (placeholder + help text) so nothing renders slanted. Styled
   <em> hooks (footer dot, stat numerals, accents) keep their
   colour/size and simply sit upright.
   ------------------------------------------------------------ */
.mn-body em,
.mn-body i,
.mn-body cite,
.mn-body address,
.mn-body .italic,
.mn-body .serif-italic,
.mn-body .mn-accent,
.mn-body .mn-accent-dark { font-style: normal; }
.mn-body input::placeholder,
.mn-body textarea::placeholder,
.mn-body select::placeholder { font-style: normal; }
.mn-body .geodir-field-text,
.mn-body .geodir_form_row input::placeholder,
.mn-body .gd-help-text,
.mn-body .description { font-style: normal; }
