@charset "UTF-8";
/* ============================================================
   CVGMN — Design layer  v3  "Boutique editorial marketplace"
   Display: Fraunces   Text: Mulish
   Additive only. Loaded before wp-custom-css + theme custom.css,
   so contested properties carry !important deliberately.
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  --f-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --f-text: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --ink: #2B2320;
  --body: #4A3D36;
  --muted: #6F5D51;
  --faint: #9C8878;

  --accent: #B4532A;
  --accent-ink: #9A431F;
  --accent-hi: #C9633A;

  --ground: #FCF8F5;
  --surface: #FFFFFF;
  --tint: #F6EEE8;
  --wash: #FBEDE4;
  --hairline: #EDE0D6;
  --hair-soft: #F4EBE4;

  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px;
  --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 88px;
  --section: 56px;

  --sh-1: 0 1px 2px rgba(74,61,54,.04), 0 4px 14px rgba(74,61,54,.045);
  --sh-2: 0 2px 6px rgba(74,61,54,.05), 0 14px 34px rgba(74,61,54,.07);
  --sh-3: 0 4px 10px rgba(74,61,54,.06), 0 22px 48px rgba(74,61,54,.09);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. FOUNDATION ---------- */
html{ scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.wordpress{
  background: var(--ground) !important;
  color: var(--body) !important;
  font-family: var(--f-text) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  letter-spacing: .001em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Text face everywhere EXCEPT icon fonts (never touch i/.fa — glyphs break) */
body p,
body li, body td, body th, body dd, body dt, body label, body figcaption,
body input, body select, body textarea, body button, body blockquote,
body div:not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab),
body span:not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab){
  font-family: var(--f-text) !important;
}
body .entry-content.frontend-entry-content.listing_content,
body .entry-content.frontend-entry-content.listing_content p{
  font-family: var(--f-text) !important;
}

/* Display face on headings */
body h1, body h2, body h3, body h4, body h5, body h6{
  font-family: var(--f-display) !important;
  color: var(--ink) !important;
  font-weight: 500 !important;
  font-style: normal;
  margin: 0 0 var(--s3);
}

/* Type scale — the hierarchy the old build never had */
body h1{
  font-size: clamp(2.15rem, 1.55rem + 2.1vw, 3.05rem) !important;
  line-height: 1.07 !important;
  letter-spacing: -.021em !important;
  font-weight: 400 !important;
}
body h2{
  font-size: 1.7rem !important;
  line-height: 1.2 !important;
  letter-spacing: -.014em !important;
}
body h3{
  font-size: 1.24rem !important;
  line-height: 1.3 !important;
  letter-spacing: -.008em !important;
}
body h4{ font-size: 1.06rem !important; line-height: 1.38 !important; }
body h5, body h6{ font-size: .95rem !important; }

body p{
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--body) !important;
  margin: 0 0 1.05em;
}
body p:last-child{ margin-bottom: 0; }

body a{
  color: var(--accent-ink);
  text-decoration: none;
  transition: color .25s var(--ease);
}
body a:hover{ color: var(--accent-hi); }

::selection{ background: var(--wash); color: var(--ink); }

:focus-visible{
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}

img{ max-width: 100%; height: auto; }
body small{ font-size: .8125rem; }

/* Utility: the "eyebrow" treatment — solves ALL-CAPS DB strings without
   text-transform (which would mangle OEM / IAM). Quiet label, not a shout. */
.cv-eyebrow{
  font-family: var(--f-text) !important;
  font-size: .715rem !important;
  font-weight: 600 !important;
  letter-spacing: .145em !important;
  line-height: 1.45 !important;
  color: var(--muted) !important;
}

/* ---------- 3. LAYOUT SHELL ---------- */
.supreme_wrapper{ position: relative; z-index: 1; background: var(--ground); }
section#main{ background: transparent !important; padding: var(--s5) 0 var(--s8) !important; }
#content.contentarea, div.contentarea{ background: transparent !important; }

/* Kill the empty Elementor scaffolding that produced the dead cream blocks */
.elementor-widget-wrap:empty{ display: none !important; }
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap:empty){
  display: none !important;
}
.elementor-column:has(> .elementor-widget-wrap:empty){ display: none !important; }
section.tmpl-dir-listings > div:empty,
section.widget_loop_taxonomy_wrap > div:empty,
#content > div:empty, div.contentarea > div:empty,
.home_page_content > div:empty{ display: none !important; }

/* ---------- 4. HEADER ---------- */
header.header_container{
  background: var(--ground) !important;
  border-bottom: 1px solid var(--hair-soft) !important;
  box-shadow: none !important;
}

/* utility strip */
body .primary_menu_wrapper{
  background: var(--tint) !important;
  border-bottom: 1px solid var(--hairline) !important;
  position: relative;
}
.primary_menu_wrapper .primary_menu_wrap{ min-height: 36px; }
.primary_menu_wrapper a{
  color: var(--muted) !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  letter-spacing: .012em;
  line-height: 36px !important;
}
.primary_menu_wrapper a:hover{ color: var(--accent-ink) !important; }
.primary_menu_wrapper li{ list-style: none; }
.location_fld_wrapper{ padding: 0 !important; margin: 0 !important; }
.location_fld_wrapper a, #directory_location_navigation a{ line-height: 36px !important; }
.horizontal_location_nav, .horizontal_location_nav li{ background: transparent !important; border: 0 !important; }
#header_country, #header_zone, #header_city{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-sm) !important;
  color: var(--body) !important;
  font-size: .8125rem !important;
  padding: 4px 10px !important;
  height: auto !important;
}

#branding{ padding: var(--s5) 0 var(--s4) !important; }
#site-title{ margin: 0 !important; padding: 0 !important; }
#site-title a{ display: inline-block; line-height: 0; }
img.logo, #site-title img{
  max-height: 74px; width: auto;
  transition: opacity .3s var(--ease);
}
#site-title a:hover img.logo{ opacity: .82; }
#site-description{ color: var(--muted) !important; }

/* visitor counter — kept, but made to recede */
aside#sidebar-header .widget{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-md) !important;
  box-shadow: none !important;
  padding: var(--s3) var(--s4) !important;
  margin: 0 !important;
}
#sidebar-header h3.wps_visitor_title{
  font-family: var(--f-text) !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
  color: var(--faint) !important;
  margin: 0 0 6px !important;
  text-align: center;
}
#sidebar-header #wpsvccount{ margin: 0 !important; text-align: center; }
#sidebar-header #wpsvccount img{ border-radius: 3px; opacity: .9; }
#sidebar-header .widget-title::after, aside#sidebar-header .widgettitle::after{ display: none !important; }

/* ---------- 5. PRIMARY NAV ---------- */
#nav-secondary, #menu-secondary.menu-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body div#menu-secondary nav.wrap{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  box-shadow: var(--sh-1) !important;
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 5px 10px !important;
}
#menu-secondary #menu-secondary-title{ display: none !important; }

#menu-secondary ul#menu-secondary-items,
#menu-secondary ul.primary_menu{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}
#menu-secondary ul#menu-secondary-items > li,
#menu-secondary ul.primary_menu > li{
  list-style: none !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}
#menu-secondary ul#menu-secondary-items > li > a,
#menu-secondary ul.primary_menu > li > a{
  display: block !important;
  font-family: var(--f-text) !important;
  font-size: .925rem !important;
  font-weight: 500 !important;
  letter-spacing: .004em !important;
  color: var(--body) !important;
  background: transparent !important;
  padding: 10px 15px !important;
  border-radius: var(--r-pill) !important;
  line-height: 1.4 !important;
  transition: background .24s var(--ease), color .24s var(--ease);
}
#menu-secondary ul#menu-secondary-items > li > a:hover,
#menu-secondary ul.primary_menu > li > a:hover{
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
}
#menu-secondary ul#menu-secondary-items > li.current-menu-item > a,
#menu-secondary ul#menu-secondary-items > li.current-menu-ancestor > a,
#menu-secondary ul#menu-secondary-items > li.current_page_item > a,
#menu-secondary ul.primary_menu > li.current-menu-item > a{
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
  font-weight: 600 !important;
  box-shadow: inset 0 0 0 1px rgba(180,83,42,.22);
}

/* dropdowns */
#menu-secondary ul#menu-secondary-items ul,
#menu-secondary ul.sub-menu{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--sh-2) !important;
  padding: 6px !important;
  min-width: 214px;
}
#menu-secondary ul#menu-secondary-items ul li,
#menu-secondary ul.sub-menu li{ border: 0 !important; }
#menu-secondary ul#menu-secondary-items ul li a,
#menu-secondary ul.sub-menu li a{
  padding: 9px 13px !important;
  border-radius: var(--r-sm) !important;
  font-size: .875rem !important;
  color: var(--body) !important;
  background: transparent !important;
  font-weight: 500 !important;
}
#menu-secondary ul#menu-secondary-items ul li a:hover,
#menu-secondary ul.sub-menu li a:hover{
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
}

/* ---------- 6. PAGE HEADER / BREADCRUMB ---------- */
.breadcrumb, .breadcrumbs, .breadcrumb-trail{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 var(--s3) !important;
  font-size: .8125rem !important;
  letter-spacing: .012em;
}
.breadcrumb, .breadcrumb a, .breadcrumb-trail, .breadcrumb-trail a,
.breadcrumbs a, .breadcrumb-trail span{
  color: var(--muted) !important;
  font-family: var(--f-text) !important;
  font-weight: 500 !important;
}
.breadcrumb a:hover, .breadcrumb-trail a:hover, .breadcrumbs a:hover{ color: var(--accent-ink) !important; }
.breadcrumb-trail .sep{ color: var(--faint) !important; padding: 0 6px; }

h1.page-title, .page-title{
  color: var(--ink) !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 0 var(--s4) !important;
  border-bottom: 1px solid var(--hairline);
  position: relative;
}
/* DB-cased ALL-CAPS titles (MANUFACTURERS) — smaller + normal tracking so
   caps read as deliberate rather than shouted. No text-transform. */
body.taxonomy-listingcategory h1.page-title,
body.archive h1.page-title{
  font-size: clamp(1.85rem, 1.4rem + 1.5vw, 2.45rem) !important;
  letter-spacing: -.004em !important;
}

/* ---------- 7. CARD PRIMITIVE ---------- */
article.post,
ul.peoplelisting > li,
.listing_post_wrapper > div.post,
article.category_list,
body ul.edd-taxonomy-widget > li.cat-item{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--sh-1) !important;
  transition: transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s var(--ease);
}
article.post:hover,
ul.peoplelisting > li:hover,
.listing_post_wrapper > div.post:hover,
article.category_list:hover,
body ul.edd-taxonomy-widget > li.cat-item:hover{
  transform: translateY(-3px);
  box-shadow: var(--sh-3) !important;
  border-color: #E2CDBC !important;
}

/* ---------- 8. LISTING GRID ---------- */
section#loop_listing_taxonomy,
section.tmpl-dir-listings.grid,
section.search_result_listing,
section.widget_loop_taxonomy_wrap,
#widget_loop_listing section.grid{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
  gap: var(--s5) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 var(--s6) !important;
  float: none !important;
  width: 100% !important;
}
section#loop_listing_taxonomy::before, section#loop_listing_taxonomy::after,
section.tmpl-dir-listings::before, section.tmpl-dir-listings::after{ display: none !important; }

article.post{
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  list-style: none;
}

/* image panel — contain, never crop logos */
article.post .listing_img{
  order: -1;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--tint) !important;
  border-bottom: 1px solid var(--hair-soft);
  overflow: hidden;
  position: relative;
}
article.post .listing_img a{
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 132px;
  padding: var(--s4) !important;
  background: var(--surface) !important;
}
article.post .listing_img img{
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  transition: transform .5s var(--ease);
  mix-blend-mode: multiply;
}
article.post:hover .listing_img img{ transform: scale(1.035); }

article.post .entry{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
  padding: var(--s4) var(--s4) var(--s5) !important;
  margin: 0 !important;
  background: transparent !important;
}
article.post .listing-wrapper{ display: flex; flex-direction: column; flex: 1 1 auto; }
article.post .entry-title{ margin: 0 !important; padding: 0 !important; }
article.post h2.entry-title{
  font-family: var(--f-display) !important;
  font-size: 1.0625rem !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
  letter-spacing: -.008em !important;
  margin: 0 0 var(--s2) !important;
}
article.post h2.entry-title a{
  font-family: var(--f-display) !important;
  color: var(--ink) !important;
  transition: color .24s var(--ease);
}
article.post h2.entry-title a:hover{ color: var(--accent-ink) !important; }

/* Empty 0-star rows on every card were pure noise — hidden in the grid only.
   Ratings still render on single listing pages. */
article.post .listing_rating, article.post .directory_rating_row{ display: none !important; }
i.rating-off{ color: #E7D3C2 !important; font-size: 12px; }
i.rating-on{ color: #D99A3C !important; font-size: 12px; }

article.post .entry-details{ margin: 0 !important; padding: 0 !important; }
article.post p.phone, .entry-details p.phone{
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
  letter-spacing: .012em;
}
article.post p.phone a{ color: var(--muted) !important; }
article.post p.phone i{ color: var(--accent) !important; font-size: 11px; }

article.post .entry-summary{ margin: var(--s2) 0 0 !important; padding: 0 !important; }
article.post .entry-summary p{
  font-size: .8425rem !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
  margin: 0 !important;
}
article.post .rev_pin{ margin-top: auto !important; padding-top: var(--s3) !important; }

/* every listing carries .featured_c so it signals nothing — never badge it */
.featured_ribbon, .featured-ribbon, .featured_tag, span.featured, .fetured_ribbon{
  display: none !important;
}

/* ---------- 9. SORT / FILTER BAR ---------- */
.directory_manager_tab{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-md) !important;
  box-shadow: none !important;
  padding: var(--s3) var(--s4) !important;
  margin: 0 0 var(--s5) !important;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--s3);
  flex-wrap: wrap;
}
.directory_manager_tab .sort_options{ margin: 0 !important; float: none !important; }
.directory_manager_tab a{
  color: var(--muted) !important;
  border-radius: var(--r-sm) !important;
  padding: 6px 9px !important;
  display: inline-flex; align-items: center;
}
.directory_manager_tab a:hover, .directory_manager_tab a.active{
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
}

/* subcategory chip row on taxonomy pages — was clipping text in a scrollbox */
.listing_categories, .directory_taxonomy, .taxonomy_description,
.category_description, .sub_category_list{
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 !important;
}
.listing_categories ul, .directory_taxonomy ul, .sub_category_list ul{
  display: flex !important;
  flex-wrap: wrap;
  gap: var(--s2);
  list-style: none !important;
  margin: 0 !important; padding: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
.listing_categories li, .directory_taxonomy li, .sub_category_list li{
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  width: auto !important; float: none !important; border: 0 !important;
}
.listing_categories li a, .directory_taxonomy li a, .sub_category_list li a{
  display: inline-block;
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  padding: 7px 15px !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  color: var(--body) !important;
  transition: all .24s var(--ease);
}
.listing_categories li a:hover, .directory_taxonomy li a:hover, .sub_category_list li a:hover{
  background: var(--wash) !important;
  border-color: #E2CDBC !important;
  color: var(--accent-ink) !important;
}

/* ---------- 10. HOME: BROWSE BY CATEGORY ---------- */
div.widget.all_category_list_widget{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 var(--section) !important;
}
div.all_category_list_widget > .widget-wrap{
  background: transparent !important; border: 0 !important;
  box-shadow: none !important; padding: 0 !important;
}
div.all_category_list_widget h3.widget-title{
  font-family: var(--f-display) !important;
  font-size: 1.7rem !important;
  font-weight: 500 !important;
  letter-spacing: -.014em !important;
  color: var(--ink) !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 0 var(--s3) !important;
  border-bottom: 1px solid var(--hairline);
}
div.all_category_list_widget h3.widget-title::after{ display: none !important; }

section.category_list_wrap{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
  gap: var(--s5) !important;
  margin: 0 !important;
}
article.category_list{
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: var(--s5) !important;
}
/* every catimg is the no-image placeholder — dead weight */
article.category_list .catimg{ display: none !important; }

/* group name: the ALL-CAPS DB string, demoted to a quiet label */
article.category_list > h3{
  margin: 0 0 var(--s4) !important;
  padding: 0 0 var(--s3) !important;
  border-bottom: 1px solid var(--hair-soft);
  display: flex; align-items: flex-start; gap: 6px;
}
article.category_list > h3 > a{
  font-family: var(--f-text) !important;
  font-size: .715rem !important;
  font-weight: 600 !important;
  letter-spacing: .145em !important;
  line-height: 1.5 !important;
  color: var(--muted) !important;
  flex: 1 1 auto;
}
article.category_list > h3 > a:hover{ color: var(--accent-ink) !important; }
article.category_list > h3 i.arrow-click{ color: var(--faint) !important; font-size: 12px; margin-top: 3px; }

article.category_list ul{
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  display: flex; flex-direction: column; flex: 1 1 auto;
}
article.category_list li.cat-item{
  list-style: none !important;
  margin: 0 !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid var(--hair-soft) !important;
  font-size: .8125rem !important;
  color: var(--faint) !important;
  background: transparent !important;
  width: auto !important; float: none !important;
  border-radius: 0 !important;
}
article.category_list li.cat-item a{
  color: var(--body) !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  background: transparent !important;
  padding: 0 !important; box-shadow: none !important;
}
article.category_list li.cat-item a:hover{ color: var(--accent-ink) !important; }
article.category_list li.view{
  list-style: none !important;
  margin-top: auto !important;
  padding: var(--s4) 0 0 !important;
  border: 0 !important;
}
article.category_list li.view a{
  font-family: var(--f-text) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em;
  color: var(--accent-ink) !important;
  background: transparent !important;
  padding: 0 !important; box-shadow: none !important;
}

/* ---------- 11. DOWNLOAD CENTRE (was the worst page on the site) ----------
   wp-custom-css sets .cat_style a{display:inline;padding:14px;background:#f97d3d;
   box-shadow:4px 5px #bbb} — an inline box with padding, so labels overflowed
   the orange rectangle. Rebuilt as a proper card grid. */
body ul.edd-taxonomy-widget{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--s4) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
body ul.edd-taxonomy-widget::after{ content: ""; display: table; clear: both; }
body ul.edd-taxonomy-widget > li.cat-item{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: left !important;
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-top: 1px solid var(--hairline) !important;
  border-bottom: 1px solid var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
}
body ul.edd-taxonomy-widget > li.cat-item > a{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 104px;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: var(--s5) !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: var(--ink) !important;
  font-family: var(--f-display) !important;
  font-size: 1.12rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: -.008em !important;
  text-align: left !important;
  overflow-wrap: anywhere;
  transition: background .26s var(--ease), color .26s var(--ease);
}
body ul.edd-taxonomy-widget > li.cat-item > a:hover{
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
}
body ul.edd-taxonomy-widget > li.cat-item .children{ display: none !important; }

/* ---------- 12. STAKEHOLDERS / PEOPLE — was a flat divider list ---------- */
ul.tabs{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s2);
  list-style: none !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 0 var(--s4) !important;
  border-bottom: 1px solid var(--hairline);
}
ul.tabs li{ list-style: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
ul.tabs li.normal{
  font-size: .715rem !important;
  font-weight: 600 !important;
  letter-spacing: .145em !important;
  color: var(--faint) !important;
  margin-right: var(--s2) !important;
}
ul.tabs li.tab-title a{
  display: inline-block;
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  padding: 7px 16px !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  color: var(--body) !important;
  transition: all .24s var(--ease);
}
ul.tabs li.tab-title a:hover{ background: var(--wash) !important; color: var(--accent-ink) !important; border-color: #E2CDBC !important; }
ul.tabs li.tab-title.active a{
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
  border-color: rgba(180,83,42,.28) !important;
  font-weight: 600 !important;
}

ul.peoplelisting{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: var(--s5) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.peoplelisting > li{
  list-style: none !important;
  display: flex !important;
  flex-direction: column;
  gap: var(--s3);
  padding: var(--s5) !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--hairline) !important;
  overflow: hidden;
}
/* rows without a logo render an empty <a> — collapse it so cards stay aligned */
ul.peoplelisting > li > a:empty{ display: none !important; }
ul.peoplelisting > li > a{
  display: block;
  width: 68px; height: 68px;
  border: 1px solid var(--hair-soft);
  border-radius: var(--r-md);
  background: var(--surface);
  overflow: hidden;
  flex: 0 0 auto;
  padding: 6px;
  box-sizing: border-box;
}
ul.peoplelisting > li > a img{
  width: 100% !important; height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  mix-blend-mode: multiply;
}
ul.peoplelisting .people_info{ display: flex; flex-direction: column; flex: 1 1 auto; }
ul.peoplelisting .people_info h3{
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s3);
  margin: 0 0 var(--s2) !important;
  font-family: var(--f-display) !important;
  font-size: 1.12rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}
ul.peoplelisting .people_info h3 span.fl{ float: none !important; flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
ul.peoplelisting .people_info h3 span.fl a{ font-family: var(--f-display) !important; color: var(--ink) !important; }
ul.peoplelisting .people_info h3 span.fl a:hover{ color: var(--accent-ink) !important; }
ul.peoplelisting .people_info h3 span.total_homes{ float: none !important; flex: 0 0 auto; }
ul.peoplelisting .people_info h3 span.total_homes a{
  font-family: var(--f-text) !important;
  display: inline-block;
  background: var(--wash) !important;
  color: var(--accent-ink) !important;
  border-radius: var(--r-pill);
  padding: 3px 11px !important;
  font-size: .715rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em;
  white-space: nowrap;
}
ul.peoplelisting p.peoplelink{
  display: flex !important; flex-wrap: wrap; gap: var(--s3);
  margin: 0 0 var(--s3) !important;
  font-size: .8125rem !important;
}
ul.peoplelisting p.peoplelink span a{ color: var(--muted) !important; font-weight: 500; font-size: .8125rem !important; }
ul.peoplelisting p.peoplelink span a:hover{ color: var(--accent-ink) !important; }
ul.peoplelisting p:empty{ display: none !important; }
ul.peoplelisting p.links{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s3);
  margin: auto 0 0 !important;
  padding-top: var(--s3) !important;
  border-top: 1px solid var(--hair-soft);
  font-size: .8125rem !important;
}
ul.peoplelisting p.links span.email{ color: var(--muted) !important; font-size: .8125rem !important; overflow-wrap: anywhere; }
ul.peoplelisting p.links a.i_email_agent{ min-width: 0; }
ul.peoplelisting span.fr.profile{ float: none !important; flex: 0 0 auto; }
ul.peoplelisting span.fr.profile a{
  display: inline-block;
  background: var(--accent) !important;
  color: #FFFFFF !important;
  border-radius: var(--r-pill);
  padding: 8px 17px !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .015em;
  white-space: nowrap;
  transition: background .24s var(--ease);
}
ul.peoplelisting span.fr.profile a:hover{ background: var(--accent-ink) !important; color: #FFFFFF !important; }

/* ---------- 13. BLOG — was three cards deep ---------- */
div.widget.listing_post{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 var(--section) !important;
}
div.widget.listing_post > .widget-wrap,
div.widget.listing_post .widget-inside{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
div.widget.listing_post h3.widget-title{
  font-family: var(--f-display) !important;
  font-size: 1.7rem !important;
  font-weight: 500 !important;
  letter-spacing: -.014em !important;
  color: var(--ink) !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 0 var(--s3) !important;
  border-bottom: 1px solid var(--hairline);
}
div.widget.listing_post h3.widget-title::after{ display: none !important; }
/* /blog/ already has an H1 "Blogs" — the widget's "Blog" heading is redundant */
body.singular-page-715 div.widget.listing_post h3.widget-title{ display: none !important; }

.listing_post_wrapper{
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--s4) !important;
}
.listing_post_wrapper > div.post{
  display: grid !important;
  grid-template-columns: 208px 1fr;
  gap: var(--s5);
  align-items: start;
  padding: var(--s5) !important;
  margin: 0 !important;
  overflow: hidden;
}
.listing_post_wrapper > div.post .post-blog-image{ margin: 0 !important; }
.listing_post_wrapper > div.post .post-blog-image a{ display: block; border-radius: var(--r-md); overflow: hidden; background: var(--tint); }
.listing_post_wrapper > div.post .post-blog-image img{
  display: block; width: 100%; height: 140px;
  object-fit: cover; border-radius: 0 !important;
  transition: transform .5s var(--ease);
}
.listing_post_wrapper > div.post:hover .post-blog-image img{ transform: scale(1.04); }
.listing_post_wrapper > div.post .entry-header{ min-width: 0; }
.listing_post_wrapper > div.post h2{
  font-family: var(--f-display) !important;
  font-size: 1.24rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
  margin: 0 0 var(--s2) !important;
}
.listing_post_wrapper > div.post h2 a{ font-family: var(--f-display) !important; color: var(--ink) !important; }
.listing_post_wrapper > div.post h2 a:hover{ color: var(--accent-ink) !important; }
.listing_post_wrapper .post-summery p{
  font-size: .9rem !important;
  line-height: 1.68 !important;
  color: var(--muted) !important;
  margin: 0 !important;
}
a.moretag{
  font-family: var(--f-text) !important;
  font-weight: 600 !important;
  font-size: .8125rem !important;
  color: var(--accent-ink) !important;
  white-space: nowrap;
}

/* ---------- 14. SIDEBAR WIDGETS ---------- */
aside.sidebar{ background: transparent !important; }
aside.sidebar .widget, #sidebar-primary .widget{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--sh-1) !important;
  padding: var(--s5) !important;
  margin: 0 0 var(--s5) !important;
}
aside.sidebar .widget .widget-wrap, aside.sidebar .widget .widget-inside{
  background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
}
aside.sidebar .widget h3.widget-title, aside.sidebar .widget .widgettitle,
aside.sidebar .widget h3, aside.sidebar .widget h4{
  font-family: var(--f-display) !important;
  font-size: 1.12rem !important;
  font-weight: 500 !important;
  letter-spacing: -.008em !important;
  color: var(--ink) !important;
  margin: 0 0 var(--s4) !important;
  padding: 0 0 var(--s3) !important;
  border-bottom: 1px solid var(--hair-soft);
}
aside.sidebar .widget .widget-title::after, aside.sidebar .widget .widgettitle::after{ display: none !important; }
aside.sidebar .widget p{ font-size: .9rem !important; line-height: 1.7 !important; color: var(--muted) !important; }
.widget ul, .widget ol{ margin: 0 !important; padding: 0 !important; list-style: none !important; }
aside.sidebar .widget li{
  list-style: none !important;
  border-bottom: 1px solid var(--hair-soft) !important;
  padding: 9px 0 !important;
  margin: 0 !important;
  font-size: .9rem !important;
}
aside.sidebar .widget li:last-child{ border-bottom: 0 !important; padding-bottom: 0 !important; }
aside.sidebar .widget li a{ color: var(--body) !important; transition: color .22s var(--ease); }
aside.sidebar .widget li a:hover{ color: var(--accent-ink) !important; }
.widget img{ border-radius: var(--r-md); max-width: 100%; height: auto; }

/* ---------- 15. FORMS ---------- */
input[type="text"], input[type="email"], input[type="url"], input[type="tel"],
input[type="password"], input[type="search"], input[type="number"],
input[type="date"], textarea, select{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  color: var(--body) !important;
  font-family: var(--f-text) !important;
  font-size: .9rem !important;
  padding: 11px 17px !important;
  box-shadow: none !important;
  transition: border-color .24s var(--ease), box-shadow .24s var(--ease);
  max-width: 100%;
  box-sizing: border-box;
}
textarea{ border-radius: var(--r-md) !important; line-height: 1.65; }
input:focus, textarea:focus, select:focus{
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(180,83,42,.13) !important;
  outline: none !important;
}
::placeholder{ color: var(--faint) !important; opacity: 1; }
label{ font-size: .875rem !important; font-weight: 500 !important; color: var(--body) !important; }

/* ---------- 16. BUTTONS ---------- */
button:not([class*="btn-icon"]):not(.gm-control-active):not([class*="gm-"]),
input[type="submit"], input[type="button"], input[type="reset"],
.button, a.button, .btn, .tev_button, .templatic_button{
  background: var(--accent) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  font-family: var(--f-text) !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  letter-spacing: .015em !important;
  padding: 11px 24px !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background .24s var(--ease), transform .18s var(--ease);
  text-transform: none !important;
}
button:not([class*="btn-icon"]):hover,
input[type="submit"]:hover, .button:hover, a.button:hover, .btn:hover{
  background: var(--accent-ink) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}
button:active, input[type="submit"]:active, .button:active{ transform: translateY(0); }
/* never restyle map / editor controls */
.wp-editor-tools button, .gm-style button, .gm-style select, .gm-style div{
  background: revert !important; color: revert !important;
  border-radius: revert !important; padding: revert !important;
  font-size: revert !important; box-shadow: revert !important;
}

/* ---------- 17. PAGINATION ---------- */
.pagination, .tmpl_pagination, .navigation{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s2) !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  background: transparent !important;
  border: 0 !important;
  margin: var(--s6) 0 0 !important;
  padding: var(--s5) 0 0 !important;
  border-top: 1px solid var(--hairline);
}
.pagination a, .pagination span, .page-numbers{
  display: inline-flex !important;
  align-items: center; justify-content: center;
  min-width: 38px; height: 38px;
  padding: 0 13px !important;
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  color: var(--body) !important;
  font-family: var(--f-text) !important;
  font-size: .8425rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  line-height: 1 !important;
  transition: all .22s var(--ease);
}
.pagination a:hover, .page-numbers:hover{
  background: var(--wash) !important;
  border-color: #E2CDBC !important;
  color: var(--accent-ink) !important;
}
.pagination .current, a.current.page-numbers, .page-numbers.current,
.pagination span.current{
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
}
.pagination .dots, .page-numbers.dots{ background: transparent !important; border-color: transparent !important; color: var(--faint) !important; }

/* ---------- 18. MAPS & MEDIA ---------- */
/* Never put backdrop-filter on a map/iframe container — repaint artifacts. */
.home_page_banner{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 var(--section) !important;
}
.home_page_banner.map_full_width{ padding: 0 var(--s5) !important; }
#map, .map_wrap, .directory_map, .home_page_banner > div{
  border-radius: var(--r-xl) !important;
  overflow: hidden !important;
  border: 1px solid var(--hairline) !important;
  box-shadow: var(--sh-1);
}
body.home #map, body.home .map_wrap{ max-height: 420px !important; }
iframe{ border: 0; border-radius: var(--r-md); max-width: 100%; }
.tribe-events-venue-map iframe{ border-radius: var(--r-md); }

/* ---------- 19. CONTENT / PROSE ---------- */
.entry-content, .single .entry-content, .page .entry-content{ background: transparent !important; }
.entry-content p, .entry-summary p, #content p{ color: var(--body) !important; }
.entry-content img, #content img{ border-radius: var(--r-md); height: auto; max-width: 100%; }
.entry-content ul, .entry-content ol{ padding-left: 1.25em; margin: 0 0 1.05em; }
.entry-content li{ margin-bottom: .4em; }

blockquote{
  background: var(--tint) !important;
  border: 0 !important;
  border-left: 3px solid var(--accent) !important;
  border-radius: 0 var(--r-md) var(--r-md) 0 !important;
  margin: var(--s5) 0 !important;
  padding: var(--s5) var(--s5) var(--s5) var(--s6) !important;
  font-family: var(--f-display) !important;
  font-size: 1.06rem !important;
  font-style: italic;
  line-height: 1.62 !important;
  color: var(--ink) !important;
}
blockquote p{ font-family: var(--f-display) !important; font-style: italic; color: var(--ink) !important; }
hr{ border: 0; height: 1px; background: var(--hairline); margin: var(--s6) 0; }
table{ border-radius: var(--r-md); overflow: hidden; border-collapse: collapse; width: 100%; }
th{ background: var(--tint) !important; color: var(--ink) !important; font-weight: 600 !important; }
th, td{ border-color: var(--hairline) !important; padding: 11px 15px !important; font-size: .9rem !important; }

/* home quote module */
.home_page_content .widget{ margin-bottom: var(--section) !important; }

/* ---------- 20. EMPTY STATES ---------- */
.tribe-events-c-messages__message,
.tribe-events-notices, .no-results, .not-found,
p.no_result, .no_listing_found{
  background: var(--tint) !important;
  border: 1px dashed var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  color: var(--muted) !important;
  font-size: .925rem !important;
  text-align: center !important;
  padding: var(--s7) var(--s5) !important;
  margin: 0 0 var(--s6) !important;
  list-style: none !important;
}
.tribe-events-c-messages__message-list{ list-style: none !important; margin: 0 !important; padding: 0 !important; }

/* ---------- 21. EVENTS ---------- */
.tribe-common, .tribe-events{ font-family: var(--f-text) !important; }
.tribe-common h1, .tribe-common h2, .tribe-common h3,
.tribe-events-calendar-list__event-title{ font-family: var(--f-display) !important; }
.tribe-events-calendar-list__event-title a{ font-family: var(--f-display) !important; color: var(--ink) !important; }
.tribe-events-calendar-list__event-row{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--sh-1);
  padding: var(--s5) !important;
  margin: 0 0 var(--s4) !important;
}
.tribe-events-calendar-list__event-featured-image-wrapper img,
.tribe-events-calendar-list__event-featured-image{ border-radius: var(--r-md) !important; }

/* The "previous" control had prev_label:"" — an empty element. Painting it
   with the primary button fill produced an unlabelled orange blob. Icon
   buttons get a quiet ghost circle instead. */
.tribe-common-c-btn-icon,
a.tribe-events-c-top-bar__nav-link,
button.tribe-events-c-top-bar__nav-link{
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid var(--hairline) !important;
  border-radius: 50% !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--muted) !important;
  box-shadow: none !important;
  transform: none !important;
}
.tribe-common-c-btn-icon:hover,
a.tribe-events-c-top-bar__nav-link:hover,
button.tribe-events-c-top-bar__nav-link:hover{
  background: var(--wash) !important;
  border-color: #E2CDBC !important;
  color: var(--accent-ink) !important;
  transform: none !important;
}
.tribe-common-c-btn-icon svg, .tribe-events-c-top-bar__nav-link svg{ fill: currentColor !important; }
/* a disabled next/prev is a <button>, not an <a> — collapse it, don't paint it */
button.tribe-events-c-top-bar__nav-link--next:not([href]),
button.tribe-events-c-top-bar__nav-link--prev:not([href]){ opacity: .38 !important; pointer-events: none; }

.tribe-events-c-top-bar__today-button,
a.tribe-common-c-btn-border-small{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  color: var(--body) !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  padding: 8px 17px !important;
  height: auto !important;
}
.tribe-events-header, .tribe-events-c-top-bar{ background: transparent !important; }
.tribe-events-c-events-bar__search-button, .tribe-events-c-search__button{ border-radius: var(--r-pill) !important; }

/* ---------- 22. CONTACT / SUBMIT ---------- */
body.singular-page-264 .entry-content > p:first-of-type{
  font-size: 1.06rem !important;
  line-height: 1.72 !important;
  color: var(--muted) !important;
  max-width: 64ch;
  margin-bottom: var(--s6) !important;
}
.templatic_contact_form, .contact_form_wrap, .contact-form{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  padding: var(--s5) !important;
  box-shadow: var(--sh-1);
}
.tmpl_accordion, .submit_listing_step, .payment_plan_wrap{
  border-radius: var(--r-md) !important;
  border-color: var(--hairline) !important;
}

/* ---------- 23. FOOTER — was dark espresso; now light and airy ---------- */
footer#footer{
  background: var(--tint) !important;
  border-top: 1px solid var(--hairline) !important;
  border-radius: 0 !important;
  color: var(--body) !important;
  margin: var(--section) 0 0 !important;
  padding: var(--s8) 0 0 !important;
  box-shadow: none !important;
}
footer#footer::before{ display: none !important; }
footer#footer, footer#footer p, footer#footer li, footer#footer td, footer#footer div, footer#footer span{
  color: var(--body) !important;
  font-size: .9rem !important;
  line-height: 1.72 !important;
}
footer#footer a, footer#footer li a, footer#footer .social_media a{
  color: var(--body) !important;
  transition: color .22s var(--ease);
}
footer#footer a:hover, footer#footer li a:hover{ color: var(--accent-ink) !important; }
footer#footer h3, footer#footer h4, footer#footer .widget-title, footer#footer .widgettitle{
  font-family: var(--f-display) !important;
  font-size: 1.12rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  margin: 0 0 var(--s4) !important;
  padding: 0 0 var(--s3) !important;
  border-bottom: 1px solid var(--hairline) !important;
}
footer#footer .widget-title::after, footer#footer .widgettitle::after{ display: none !important; }
footer#footer .widget{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 var(--s6) !important;
}
footer#footer .widget-inside, footer#footer .widget-wrap{
  background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
}
footer#footer .widget li{ border-bottom: 1px solid var(--hairline) !important; padding: 8px 0 !important; }
footer#footer .widget li:last-child{ border-bottom: 0 !important; }
footer#footer .social_media i, footer#footer .social_media_list i{ color: var(--accent) !important; }
footer#footer input[type="text"], footer#footer input[type="email"]{
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  color: var(--body) !important;
}
footer#footer ::placeholder{ color: var(--faint) !important; }
body footer#footer .footer_bottom, body #footer .footer_bottom{
  background: transparent !important;
  border-top: 1px solid var(--hairline) !important;
  color: var(--muted) !important;
  margin-top: var(--s6) !important;
  padding: var(--s5) 0 !important;
}
body footer#footer .footer_bottom p, body footer#footer .footer_bottom a,
body #footer .footer_bottom p, body #footer .footer_bottom a{
  color: var(--muted) !important;
  font-size: .8125rem !important;
}

/* ---------- 24. MOTION ---------- */
@keyframes cvRise{ from{ opacity: 0; transform: translateY(9px); } to{ opacity: 1; transform: none; } }
article.post, ul.peoplelisting > li, article.category_list,
body ul.edd-taxonomy-widget > li.cat-item, .listing_post_wrapper > div.post{
  animation: cvRise .5s var(--ease) both;
}
article.post:nth-child(1), ul.peoplelisting > li:nth-child(1){ animation-delay: .02s }
article.post:nth-child(2), ul.peoplelisting > li:nth-child(2){ animation-delay: .05s }
article.post:nth-child(3), ul.peoplelisting > li:nth-child(3){ animation-delay: .08s }
article.post:nth-child(4), ul.peoplelisting > li:nth-child(4){ animation-delay: .11s }
article.post:nth-child(n+5), ul.peoplelisting > li:nth-child(n+5){ animation-delay: .14s }

/* ---------- 25. RESPONSIVE ---------- */
@media (max-width: 1024px){
  :root{ --section: 44px; }
  .listing_post_wrapper > div.post{ grid-template-columns: 168px 1fr; gap: var(--s4); }
}
@media (max-width: 780px){
  body h1{ font-size: 2.05rem !important; }
  body h2{ font-size: 1.45rem !important; }
  section#main{ padding: var(--s4) 0 var(--s7) !important; }
  #menu-secondary ul#menu-secondary-items{ gap: 0; }
  #menu-secondary ul#menu-secondary-items > li > a{ padding: 9px 12px !important; font-size: .875rem !important; }
  section#loop_listing_taxonomy, section.tmpl-dir-listings.grid,
  section.search_result_listing, section.widget_loop_taxonomy_wrap{
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: var(--s4) !important;
  }
  ul.peoplelisting{ grid-template-columns: 1fr; }
  .home_page_banner.map_full_width{ padding: 0 var(--s4) !important; }
}
@media (max-width: 560px){
  .listing_post_wrapper > div.post{ grid-template-columns: 1fr; }
  .listing_post_wrapper > div.post .post-blog-image img{ height: 172px; }
  ul.peoplelisting > li, article.category_list{ padding: var(--s4) !important; }
  body ul.edd-taxonomy-widget{ grid-template-columns: 1fr; }
  ul.peoplelisting p.links{ flex-direction: column; align-items: flex-start; }
}

/* ---------- 26. REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  article.post, ul.peoplelisting > li, article.category_list,
  body ul.edd-taxonomy-widget > li.cat-item, .listing_post_wrapper > div.post{
    animation: none !important; opacity: 1 !important; transform: none !important;
  }
  article.post:hover, ul.peoplelisting > li:hover, article.category_list:hover,
  body ul.edd-taxonomy-widget > li.cat-item:hover,
  .listing_post_wrapper > div.post:hover{ transform: none !important; }
  article.post:hover .listing_img img{ transform: none !important; }
}

/* ---------- 27. LATE OVERRIDES (beat theme custom.css + wp-custom-css) ---------- */
body #content a:hover, body div.contentarea a:hover, body .entry-content a:hover{ color: var(--accent-hi) !important; }
body #content article.post h2.entry-title a{ color: var(--ink) !important; }
body #content article.post h2.entry-title a:hover{ color: var(--accent-ink) !important; }
body #content .pagination a, body #content .pagination span, body #content .page-numbers{ color: var(--body) !important; }
body #content .page-numbers.current, body #content .pagination .current{ color: #FFFFFF !important; }
body #content input[type="submit"], body #content button:not([class*="btn-icon"]){ color: #FFFFFF !important; }
body .all_category_list_widget .category_list ul li a{ color: var(--body) !important; }
body .all_category_list_widget .category_list ul li a:hover{ color: var(--accent-ink) !important; }
body .peopleinfo-wrap a, body .directory_taxonomy a, body .listing_categories a{ color: var(--body) !important; }
body #content span.fr.profile a{ color: #FFFFFF !important; }
body #content li.tab-title a{ color: var(--body) !important; }
body #content li.tab-title a:hover, body #content span.website a:hover{ color: var(--accent-ink) !important; }
body .tshowcase-single-telephone a, body .tshowcase-single-email a{ color: var(--accent-ink) !important; }
body ul.edd-taxonomy-widget > li.cat-item > a{ color: var(--ink) !important; }
body ul.edd-taxonomy-widget > li.cat-item > a:hover{ color: var(--accent-ink) !important; }
/* end */

/* ============================================================
   28. v3.1 CORRECTIONS — found during visual review
   ============================================================ */

/* Foundation clearfix pseudo-elements were becoming GRID ITEMS,
   stealing the first cell of every card grid. */
section.category_list_wrap::before, section.category_list_wrap::after,
section#loop_listing_taxonomy::before, section#loop_listing_taxonomy::after,
section.search_result_listing::before, section.search_result_listing::after,
section.widget_loop_taxonomy_wrap::before, section.widget_loop_taxonomy_wrap::after,
ul.peoplelisting::before, ul.peoplelisting::after,
body ul.edd-taxonomy-widget::before, body ul.edd-taxonomy-widget::after,
.listing_post_wrapper::before, .listing_post_wrapper::after{
  display: none !important;
  content: none !important;
}

/* The pagination block lives INSIDE the listing grid, so it was being
   sized as one grid cell — hence the 3-line pill stack and the dead
   region beside it. Non-card children now span the full row. */
section#loop_listing_taxonomy > *:not(article),
section.tmpl-dir-listings > *:not(article),
section.search_result_listing > *:not(article),
section.widget_loop_taxonomy_wrap > *:not(article){
  grid-column: 1 / -1 !important;
}

/* Theme paints a 4px grey rule above every widget title */
.widget-title, .widgettitle, .widget h3, .widget h4,
aside.sidebar .widget h3.widget-title,
div.all_category_list_widget h3.widget-title,
div.widget.listing_post h3.widget-title,
footer#footer .widget-title, footer#footer .widgettitle{
  border-top: 0 !important;
}

/* Breadcrumbs were force-uppercased by the theme */
.breadcrumb, .breadcrumb *, .breadcrumb-trail, .breadcrumb-trail *,
.breadcrumbs, .breadcrumbs *{ text-transform: none !important; }

/* The main column was a hard white slab sitting on the cream ground */
body .wrap{ background: transparent !important; box-shadow: none !important; }
body section#main .wrap, body section#main > .wrap{
  background: transparent !important; box-shadow: none !important;
}
body div#menu-secondary nav.wrap{
  background: var(--surface) !important;
  box-shadow: var(--sh-1) !important;
}

/* p.phone carries an absolutely-positioned icon at left:1px, which
   overlapped the number once the theme's padding was removed. */
article.post p.phone, .entry-details p.phone, p.phone{
  position: relative !important;
  padding-left: 19px !important;
}
article.post p.phone::before, .entry-details p.phone::before{
  color: var(--accent) !important;
  font-size: 11px !important;
}

/* ---- Stakeholder cards ---- */
ul.peoplelisting > li{
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: var(--s4) !important;
}
ul.peoplelisting > li > a{ float: none !important; }
ul.peoplelisting .people_info{ min-width: 0; }
/* name gets the full card width; the count pill drops below it */
ul.peoplelisting .people_info h3{
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
}
ul.peoplelisting .people_info h3 span.fl{ overflow-wrap: break-word !important; }
/* collapse the social row when a stakeholder has no links, and the
   stray empty <p> the template always prints */
ul.peoplelisting .people_info > p:not(.links):not(:has(a)){ display: none !important; }
ul.peoplelisting span.fr.profile{ margin-left: auto !important; }

/* Events search field has an absolutely-positioned magnifier icon */
.tribe-events-c-search__input,
input.tribe-events-c-search__input,
.tribe-events-c-search__input-control input{ padding-left: 44px !important; }

/* Header language / location selects were oversized and clipping */
header select, .primary_menu_wrapper select,
#lang_sel select, .gtranslate_wrapper select, .goog-te-combo{
  padding: 3px 9px !important;
  font-size: .8125rem !important;
  height: 30px !important;
  line-height: 1.2 !important;
  border-radius: var(--r-sm) !important;
  max-width: 150px !important;
}

/* Never let the button system reach Google Map controls */
.gm-style button, .gmnoprint button, .gm-control-active,
.gm-style-mtc button, .gm-style .gm-svpc, .gm-fullscreen-control{
  background: #ffffff !important;
  color: #444444 !important;
  border-radius: 2px !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  transform: none !important;
  text-transform: none !important;
}
.gm-style button:hover, .gm-style-mtc button:hover{
  background: #f5f5f5 !important;
  transform: none !important;
}

/* Map module: framed as a deliberate panel rather than a bleed slab.
   Height is left to the plugin — clipping it would cut off the map's
   own search panel and controls. */
.home_page_banner > div, .home_page_banner .map_sidebar,
.home_page_banner .map_wrap{
  border-radius: var(--r-xl) !important;
  overflow: hidden !important;
  border: 1px solid var(--hairline) !important;
}
body.home .home_page_banner{ margin-bottom: var(--section) !important; }

/* Sidebar ad/video widgets: keep media flush inside the card */
aside.sidebar .widget iframe,
aside.sidebar .widget img{ display: block; border-radius: var(--r-md) !important; }

/* Category tiles on home: even out short columns */
article.category_list ul{ min-height: 0; }
article.category_list li.cat-item:last-of-type{ border-bottom: 0 !important; }

/* ============================================================
   29. v3.2 CORRECTIONS
   ============================================================ */

/* Taxonomy sub-category list was a 110px overflow:auto box that
   clipped longer names mid-word, and its links were browser blue. */
div#sub_listing_categories{
  max-height: none !important;
  overflow: visible !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
div#sub_listing_categories ul{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--s2) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
div#sub_listing_categories li.cat-item{
  display: block !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  list-style: none !important;
}
div#sub_listing_categories li.cat-item a{
  display: inline-block !important;
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  padding: 7px 15px !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--body) !important;
  box-shadow: none !important;
  transition: all .24s var(--ease);
}
div#sub_listing_categories li.cat-item a:hover{
  background: var(--wash) !important;
  border-color: #E2CDBC !important;
  color: var(--accent-ink) !important;
}
.view_type_wrap{ overflow: visible !important; }

/* Stakeholder cards: let .people_info fill the card height so the
   action row settles at the bottom instead of stranding whitespace. */
ul.peoplelisting > li{ align-items: stretch !important; }
ul.peoplelisting > li > a{ align-self: flex-start !important; }
ul.peoplelisting .people_info{ flex: 1 1 auto !important; }

/* Trim the dead band between the last content block and the footer */
section#main{ padding-bottom: var(--s5) !important; }
footer#footer{ margin-top: var(--s7) !important; }
.pagination, .tmpl_pagination{ margin-bottom: 0 !important; }

/* grid / list view toggle */
.view_type_wrap a, .directory_manager_tab .grid_view, .directory_manager_tab .list_view{
  border-radius: var(--r-sm) !important;
}

/* ============================================================
   30. v3.3 — final consistency pass
   ============================================================ */

/* Every in-content module now uses one section-header treatment
   (this one was still rendering at body size in the text face). */
.home_page_content .widget .widget-title,
div#widget_loop_listing h3.widget-title,
div.title-subtitle h3.widget-title{
  font-family: var(--f-display) !important;
  font-size: 1.7rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -.014em !important;
  color: var(--ink) !important;
  margin: 0 0 var(--s5) !important;
  padding: 0 0 var(--s3) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--hairline) !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: var(--s4) !important;
}
div.title-subtitle{ margin: 0 !important; padding: 0 !important; background: transparent !important; }
div.title-subtitle h3.widget-title > span{
  font-family: var(--f-display) !important;
  font-weight: 500 !important;
}
div.title-subtitle h3.widget-title a.more,
.widget-title a.more{
  font-family: var(--f-text) !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  color: var(--accent-ink) !important;
  white-space: nowrap;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
div#directory_featured_homepage_listing-3.widget,
.home_page_content > .widget.special,
.home_page_content div#widget_loop_listing.widget{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 var(--section) !important;
}
.home_page_content .widget .widget-wrap,
.home_page_content .widget .widget-inside{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Stakeholder card: let the info column fill the card so the action
   row settles at the foot instead of stranding whitespace below it. */
ul.peoplelisting .people_info{ align-self: stretch !important; }
ul.peoplelisting p.links{ margin-top: auto !important; }

/* 31. v3.4 - stakeholder cards hug their content (no stretched voids) */
ul.peoplelisting{ align-items: start !important; }

/* ============================================================
   32. v4 REPAIR PASS  -  Raleway (text) + Playfair Display (display)
   Fixes: font swap, testimonial overlap, Google map controls,
   map height, dead vertical gaps, footer symmetry, rhythm, nav.
   ============================================================ */
:root{
  --f-display: "Playfair Display", "Iowan Old Style", Georgia, serif;
  --f-text: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --map-h: 300px;
}
body.wordpress{ letter-spacing: .003em !important; }
body h1, body h2, body h3, body h4, body h5, body h6{ letter-spacing: -.008em !important; }
body h3, body h4, body h5, body h6{ font-weight: 600 !important; }

/* --- 32.1 TESTIMONIALS: slides are absolutely stacked and the theme
   crossfades them, so two quotes paint at once. Pin exactly ONE quote
   in normal flow; the container then sizes to its content. --- */
div#testimonials.testimonials_wrap{ position: relative !important; height: auto !important; min-height: 0 !important; overflow: visible !important; }
div#testimonials.testimonials_wrap > div{ display: none !important; }
div#testimonials.testimonials_wrap > div:first-child{
  display: block !important; position: relative !important; opacity: 1 !important;
  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  width: 100% !important; height: auto !important;
  font-family: var(--f-display) !important; font-style: italic !important;
  font-size: 1.2rem !important; line-height: 1.55 !important; color: var(--ink) !important;
}
div#testimonials.testimonials_wrap > div:first-child cite{
  font-family: var(--f-text) !important; font-style: normal !important;
  font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .08em !important;
  text-transform: uppercase !important; color: var(--faint) !important;
  display: block !important; margin-top: var(--s3) !important;
}
div.testimonials{ margin: 0 !important; padding: 0 !important; }
.home_page_below_content{ margin: 0 !important; padding: 0 !important; }

/* --- 32.2 GOOGLE MAP CONTROLS: the site button rule uses a 3-deep
   :not() chain (0,3,1) which out-scores .gm-style button (0,1,1), so
   the guards never landed. Re-assert with ID-weighted selectors. --- */
.gm-style button:not(#g):not(#g),
.gm-style [role="button"]:not(#g):not(#g),
.gm-style-mtc button:not(#g):not(#g),
.gmnoprint button:not(#g):not(#g),
.gm-control-active:not(#g):not(#g),
.gm-svpc:not(#g):not(#g),
.gm-fullscreen-control:not(#g):not(#g){
  background-color: #ffffff !important;
  color: #444444 !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-weight: 500 !important;
  transform: none !important;
  transition: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  line-height: normal !important;
}
.gm-style-mtc button:not(#g):not(#g),
.gm-style-mtc [role="button"]:not(#g):not(#g){
  font-size: 18px !important; padding: 0 17px !important; height: 40px !important;
}
.gm-style button:not(#g):not(#g):hover,
.gm-style [role="button"]:not(#g):not(#g):hover{ background-color: #f5f5f5 !important; color: #000000 !important; transform: none !important; }
.gm-style img:not(#g){ max-width: none !important; border-radius: 0 !important; box-shadow: none !important; }
.gm-style iframe:not(#g){ border-radius: 0 !important; }
.gm-style div:not(#g), .gm-style span:not(#g), .gm-style a:not(#g), .gm-style label:not(#g){
  font-family: Roboto, Arial, sans-serif !important;
}

/* --- 32.3 MAP HEIGHT: the canvas carries an inline height:600px
   !important, so height cannot be overridden - max-height clamps it
   instead. Real content now sits inside the first viewport. --- */
#map_canvas, .map_canvas{ max-height: var(--map-h) !important; overflow: hidden !important; }
#map_canvas > div, .map_canvas > div, #map_canvas .gm-style, .map_canvas .gm-style{ max-height: var(--map-h) !important; }
#map_sidebar, .map_sidebar, .top_banner_section_in, .iprelative,
#listing_google_map, .listing_google_map, .map_loading_div_bg,
#category-widget, .home_page_banner > div{ max-height: var(--map-h) !important; }
.home_page_banner{ margin: 0 0 var(--section) !important; }
/* map search panel: was pinned by a computed top of 342px (the old
   600px map). Re-anchor to the bottom so it stays inside the panel. */
.home_page_banner form.pe_advsearch_form,
form#ajaxform.pe_advsearch_form{
  top: auto !important; bottom: 14px !important; left: 14px !important; right: auto !important;
  max-height: calc(100% - 28px) !important;
  overflow-y: auto !important;
  border-radius: var(--r-md) !important;
  box-shadow: 0 6px 18px rgba(43,35,32,.14) !important;
  z-index: 5 !important;
}

/* --- 32.4 DEAD VERTICAL GAPS --- */
section#main{ padding-top: var(--s5) !important; padding-bottom: var(--s4) !important; }
footer#footer{ margin-top: var(--s5) !important; }
#loop_listing_taxonomy, section.tmpl-dir-listings, section.category_list_wrap,
.widget_loop_taxonomy_wrap{ margin-bottom: var(--s5) !important; }
#loop_listing_taxonomy > div, .tmpl-dir-listings > div.pagination,
.pagination, .tmpl_pagination, .wp-pagenavi{
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: var(--s2) 0 0 !important;
}
/* empty wrappers render as phantom bands - collapse them */
#main div:empty:not([id*="map"]):not([class*="map"]):not([class*="gm-"]),
#content > div:empty, #content > section:empty,
.home_page_content > div:empty, .home_page_below_content:empty,
.widget:empty, .widget-wrap:empty, .widget-inside:empty,
#content .row:empty, #content .columns:empty{
  display: none !important; height: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
}
/* Foundation clearfix pseudos become phantom grid items */
section.category_list_wrap::before, section.category_list_wrap::after,
#loop_listing_taxonomy::before, #loop_listing_taxonomy::after,
.widget_loop_taxonomy_wrap::before, .widget_loop_taxonomy_wrap::after,
.footer_widget_wrap::before, .footer_widget_wrap::after{ content: none !important; display: none !important; }

/* --- 32.5 FOOTER PANEL SYMMETRY: .footer_widget_wrap carried a
   -36px left margin, so the content sat 21px outside the white panel
   and left a lopsided cream strip on the right. --- */
footer#footer .footer_top{ padding: 0 var(--s5) !important; }
footer#footer .footer-wrap{
  width: 100% !important; max-width: 1230px !important;
  margin-left: auto !important; margin-right: auto !important;
  padding: var(--s7) var(--s6) !important;
  border-radius: var(--r-xl) !important;
}
footer#footer .footer-wrap > .columns{ width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; float: none !important; }
footer#footer .footer_widget_wrap{
  margin: 0 !important; width: 100% !important; max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--s7) !important;
  align-items: start !important;
}
footer#footer .footer_widget_wrap > .widget{ width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; }

/* --- 32.6 RHYTHM: one section scale, one heading-to-content gap --- */
#content > .widget, .home_page_content > .widget, section#main .widget.special{ margin: 0 0 var(--section) !important; }
#content > .widget:last-child, .home_page_content > .widget:last-child{ margin-bottom: 0 !important; }
body #content h3.widget-title, body #content .widgettitle, body div.title-subtitle h3.widget-title{ margin: 0 0 var(--s5) !important; }
section.category_list_wrap, #loop_listing_taxonomy, .widget_loop_taxonomy_wrap{ gap: var(--s5) !important; }

/* --- 32.7 ACTIVE NAV: pale peach barely read as active --- */
#menu-secondary ul#menu-secondary-items > li.current-menu-item > a,
#menu-secondary ul#menu-secondary-items > li.current-menu-ancestor > a,
#menu-secondary ul#menu-secondary-items > li.current_page_item > a,
#menu-secondary ul.primary_menu > li.current-menu-item > a{
  background: #F2DCCF !important;
  color: #8E3D1B !important;
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 1px rgba(154,67,31,.30) !important;
}

/* --- 32.8 RESPONSIVE --- */
@media (max-width: 640px){
  :root{ --map-h: 200px; --section: 40px; }
  footer#footer .footer_widget_wrap{ grid-template-columns: 1fr !important; gap: var(--s6) !important; }
  footer#footer .footer-wrap{ padding: var(--s6) var(--s5) !important; }
  footer#footer .footer_top{ padding: 0 var(--s4) !important; }
}
@media (min-width: 641px) and (max-width: 1024px){
  :root{ --map-h: 260px; }
  footer#footer .footer_widget_wrap{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--s6) !important; }
}

/* --- 32.9 map panel must clear Google map-type controls (top-left) --- */
.home_page_banner form.pe_advsearch_form,
form#ajaxform.pe_advsearch_form{ bottom: 26px !important; max-height: 190px !important; }
/* site typography must not leak into Google chrome */
.gm-style:not(#g), .gm-style *:not(#g){
  letter-spacing: normal !important; word-spacing: normal !important;
  text-transform: none !important; font-style: normal !important;
}
.gm-style-cc:not(#g), .gm-style-cc *:not(#g){ font-size: 10px !important; line-height: normal !important; }

/* --- 32.10 tighten the map-to-content band (was ~130px) --- */
.home_page_banner{ margin: 0 0 var(--s7) !important; }
section#main{ padding-top: var(--s4) !important; }
#loop_listing_taxonomy, section.tmpl-dir-listings, section.category_list_wrap, .widget_loop_taxonomy_wrap{ margin-bottom: var(--s4) !important; }

/* --- 32.11 testimonials block: restore column alignment (the row
   needs auto side margins) and read as a deliberate panel --- */
.home_page_below_content{
  width: 100% !important; max-width: 1230px !important;
  margin: 0 auto var(--s7) !important;
  padding: 0 var(--s4) !important;
}
div.testimonials{
  background: var(--tint) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-xl) !important;
  padding: var(--s6) var(--s7) !important;
  margin: 0 !important;
}
div.testimonials h3, div.testimonials .widget-title{ border-bottom: 0 !important; margin: 0 0 var(--s4) !important; padding: 0 !important; }
.home_page_below_content{ padding: 0 !important; margin-bottom: var(--s5) !important; }

/* ============================================================
   33. v5 CLIENT DEFECT PASS
   Items 3-16 of the client list. CSS only. Fonts untouched
   (Raleway text / Playfair Display display, set in 32).
   NEVER set font-family on i/.fa/.fas - it breaks the glyphs.
   ============================================================ */

/* --- 33.0 one spacing scale (item 15) --- */
:root{
  --map-h: 420px;
  --gutter: 24px;
  --card-pad: 20px;
  --stack: 16px;
}

/* --- 33.1 HEADER: the logo band was a white slab (#header.row carries
   background:#fff from the theme) floating on the cream ground. Put it
   back on the warm ground so the masthead reads as one band. (item 3) --- */
body #container header.header_container #header.row,
body header.header_container > #header,
body header.header_container #header.row.clearfix{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body header.header_container{
  background: var(--ground) !important;
  border-bottom: 1px solid var(--hair-soft) !important;
}
body header.header_container #branding{ padding: var(--s5) 0 var(--s4) !important; }

/* --- 33.2 TOP UTILITY BAR: the li were inline-block/vertical-align:top
   with mismatched heights (60px text items vs a 30px select), so nothing
   shared a baseline. Make the whole bar one centred flex row. The bar is
   short, so no vertical padding is added that could clip the select.
   (item 4) --- */
body .primary_menu_wrapper .primary_menu_wrap.row{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: var(--s5) !important;
  min-height: 48px !important;
  padding: 0 !important;
}
/* Foundation clearfix pseudos would become phantom flex items */
body .primary_menu_wrapper .primary_menu_wrap.row::before,
body .primary_menu_wrapper .primary_menu_wrap.row::after,
body .primary_menu_wrapper .menu-container::before,
body .primary_menu_wrapper .menu-container::after,
body .primary_menu_wrapper nav.wrap::before,
body .primary_menu_wrapper nav.wrap::after,
body .primary_menu_wrapper div.menu::before,
body .primary_menu_wrapper div.menu::after,
body ul#menu-primary-items::before,
body ul#menu-primary-items::after{
  content: none !important; display: none !important;
}
body .primary_menu_wrapper .location_fld_wrapper{
  float: none !important; flex: 0 0 auto !important;
  display: flex !important; align-items: center !important;
  height: auto !important; margin: 0 !important; padding: 0 !important;
}
body .primary_menu_wrapper .location_fld_wrapper #loc_city_link,
body .primary_menu_wrapper .location_fld_wrapper #directorytab{
  display: flex !important; align-items: center !important; gap: 7px !important;
  height: auto !important; line-height: 1.2 !important;
  padding: 0 !important; margin: 0 !important;
}
body .primary_menu_wrapper #menu-primary.menu-container{
  flex: 1 1 auto !important; width: auto !important; height: auto !important;
  display: flex !important; align-items: center !important; justify-content: flex-end !important;
  margin: 0 !important; padding: 0 !important;
}
body .primary_menu_wrapper #menu-primary nav.wrap{
  width: auto !important; height: auto !important; max-width: none !important;
  display: flex !important; align-items: center !important; justify-content: flex-end !important;
  margin: 0 !important; padding: 0 !important;
}
body .primary_menu_wrapper #menu-primary div.menu{
  float: none !important; width: auto !important;
  display: flex !important; align-items: center !important; margin: 0 !important;
}
body ul#menu-primary-items{
  display: flex !important; align-items: center !important;
  gap: var(--s4) !important; list-style: none !important;
  margin: 0 !important; padding: 0 !important; height: auto !important;
}
body ul#menu-primary-items > li{
  display: flex !important; align-items: center !important;
  float: none !important; vertical-align: middle !important;
  height: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important;
}
body ul#menu-primary-items > li > a{
  display: flex !important; align-items: center !important;
  height: auto !important; line-height: 1.2 !important;
  padding: 0 !important; margin: 0 !important;
}
body ul#menu-primary-items select.gt_selector,
body .primary_menu_wrapper select.gt_selector{
  height: 30px !important; min-height: 30px !important;
  margin: 0 !important; padding: 2px 8px !important;
  line-height: 1.2 !important; vertical-align: middle !important;
  align-self: center !important; box-sizing: border-box !important;
}
body .primary_menu_wrapper li.menu-item-gtranslate{ line-height: 0 !important; }

/* --- 33.3 VISITOR COUNTER: title and digits were text-align:center inside
   a 711px right-floated box, so the block read as stranded mid-right. Pin
   it flush right and present the dated odometer quietly. (item 5) --- */
body #header .header-widget-wrap{ padding: var(--s5) 0 !important; }
body #header .header-widget-wrap #mvcwid{
  padding: 0 !important; margin: 0 !important; text-align: right !important;
}
body #header .header-widget-wrap h3.wps_visitor_title{
  text-align: right !important;
  font-family: var(--f-text) !important;
  font-size: .6875rem !important; font-weight: 600 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  color: var(--faint) !important;
  margin: 0 0 7px !important; padding: 0 !important; border: 0 !important;
}
body #header .header-widget-wrap #wpsvccount{
  text-align: right !important; margin: 0 !important; padding: 0 !important;
  line-height: 1 !important; font-size: 0 !important;
}
body #header .header-widget-wrap #wpsvccount img{
  height: 15px !important; width: auto !important;
  opacity: .5 !important; vertical-align: middle !important;
  margin: 0 !important; border: 0 !important; border-radius: 2px !important;
  display: inline-block !important;
}
body #header .header-widget-wrap #wpsvctable{ display: none !important; }
body #header .header-widget-wrap aside#sidebar-header{ padding: 0 !important; }

/* --- 33.4 MAP: one height everywhere (/ and /listing/). #map_canvas has an
   inline height:600px !important so only max-height can clamp the canvas;
   the wrappers take a real height. On /listing/ an intermediate div.widget
   was 330px (30px bottom padding) inside a 300px overflow:hidden clamp -
   that was the band cut off under the map. (items 6, 7) --- */
body #map_canvas, body .map_canvas{
  max-height: var(--map-h) !important; overflow: hidden !important;
}
body #map_canvas > div, body .map_canvas > div,
body #map_canvas .gm-style, body .map_canvas .gm-style{
  max-height: var(--map-h) !important;
}
body #map_sidebar, body .map_sidebar,
body .top_banner_section_in, body .iprelative,
body #listing_google_map, body .listing_google_map,
body #category-widget, body .category-widget,
body .map_loading_div_bg{
  height: var(--map-h) !important;
  max-height: var(--map-h) !important;
  overflow: hidden !important;
  margin: 0 !important;
}
/* the clipped wrapper on /listing/ */
body .home_page_banner > .widget,
body .home_page_banner .widget,
body .home_page_banner .widget-wrap,
body .home_page_banner .widget-inside{
  height: var(--map-h) !important;
  max-height: var(--map-h) !important;
  padding: 0 !important; margin: 0 !important;
  border: 0 !important; background: transparent !important;
  overflow: hidden !important;
}
body .home_page_banner{
  height: var(--map-h) !important;
  max-height: var(--map-h) !important;
  overflow: hidden !important;
  padding: 0 var(--s5) !important;
  margin: 0 0 var(--s7) !important;
}
body .home_page_banner form.pe_advsearch_form,
body form#ajaxform.pe_advsearch_form{
  bottom: 22px !important; max-height: calc(var(--map-h) - 120px) !important;
}

/* --- 33.5 CARD STARS: a previous pass hid the empty rating rows. The
   client wants them back - 5 stars on every card with the first one
   highlighted. Markup is .single_rating > span > i, i.e. each star sits in
   its OWN span, so i:first-child would match all five; the first star must
   be reached via span:first-child. COLOUR ONLY - never font-family. (item 8) --- */
body article.post .listing_rating,
body article.post .directory_rating_row,
body .listing_rating, body .directory_rating_row{
  display: block !important; visibility: visible !important;
  height: auto !important; width: auto !important;
  overflow: visible !important; opacity: 1 !important;
  margin: 0 !important; padding: 0 !important;
}
body .listing_rating{ margin: 2px 0 6px !important; }
body .listing_rating .directory_rating_row{
  display: flex !important; align-items: center !important;
}
body .listing_rating .single_rating{
  display: inline-flex !important; align-items: center !important;
  gap: 3px !important; line-height: 1 !important;
}
body .listing_rating .single_rating > span{
  display: inline-flex !important; align-items: center !important;
  line-height: 1 !important; margin: 0 !important; padding: 0 !important;
}
body .listing_rating i.fa-star{
  font-size: 12px !important; line-height: 1 !important;
  display: inline-block !important; margin: 0 !important;
}
body .listing_rating i.rating-off{ color: #E7D3C2 !important; }
body .listing_rating i.rating-on{ color: #D99A3C !important; }
/* first star highlighted by default */
body .listing_rating .single_rating > span:first-child i.fa-star{ color: #D99A3C !important; }

/* --- 33.6 LISTING CARDS: consistent gutters and internal padding, no
   arbitrary right-hand voids. (item 11) --- */
body section.tmpl-dir-listings, body #loop_listing_taxonomy,
body .widget_loop_taxonomy_wrap, body section.category_list_wrap{
  gap: var(--gutter) !important;
}
body article.post{ padding: 0 !important; overflow: hidden !important; }
body article.post div.entry{
  padding: var(--card-pad) !important;
  display: flex !important; flex-direction: column !important;
  gap: 6px !important;
}
body article.post div.listing_img > a{ padding: var(--card-pad) !important; }

/* --- 33.7 PAGINATION: every numeric pill wrapped its number in a <strong>
   that carried its own 0.8px border + 4px radius + grey fill, so each pill
   showed an outer pill AND an inner box. One treatment only. (item 12) --- */
body .pagination, body .tmpl_pagination, body .wp-pagenavi{
  display: flex !important; flex-wrap: wrap !important;
  align-items: center !important; justify-content: center !important;
  gap: var(--s2) !important;
  grid-column: 1 / -1 !important;
  background: transparent !important; border: 0 !important;
  margin: var(--s5) 0 0 !important; padding: 0 !important;
}
body .pagination a.page-numbers,
body .pagination span.page-numbers,
body .pagination a, body .pagination > span{
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-width: 38px !important; height: 38px !important;
  padding: 0 var(--s3) !important; margin: 0 !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-pill) !important;
  background: var(--surface) !important;
  color: var(--body) !important;
  font-size: .875rem !important; line-height: 1 !important;
  box-shadow: none !important; outline: 0 !important;
}
/* the inner box - strip it completely */
body .pagination strong,
body .pagination a strong,
body .pagination span strong,
body .pagination b{
  border: 0 !important; background: transparent !important;
  border-radius: 0 !important; padding: 0 !important; margin: 0 !important;
  box-shadow: none !important; color: inherit !important;
  font-weight: 600 !important; font-size: inherit !important;
  display: inline !important; line-height: 1 !important;
}
body .pagination a.current.page-numbers,
body .pagination span.current{
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #FFFFFF !important; font-weight: 600 !important;
}
body .pagination a.page-numbers:hover{
  border-color: var(--accent) !important; color: var(--accent-ink) !important;
}
body .pagination .dots, body .pagination a.dots{
  border-color: transparent !important; background: transparent !important;
  min-width: 24px !important; padding: 0 !important;
}

/* --- 33.8 SORT / VIEW CONTROLS: the icon is an ::before glyph set to
   display:inline with line-height:37px inside a 35px box padded 6px 9px,
   so it sat low and off-centre. Centre it with flex and match the three
   controls to the Sort By select. COLOUR/BOX ONLY - no font-family. (item 13) --- */
body div.sort_options{
  display: flex !important; align-items: center !important;
  justify-content: flex-end !important;
  gap: var(--s2) !important; height: auto !important;
}
body ul.view_mode.viewsbox{
  display: flex !important; align-items: center !important;
  gap: var(--s2) !important; list-style: none !important;
  margin: 0 !important; padding: 0 !important; height: auto !important;
}
body ul.view_mode.viewsbox > li{
  display: flex !important; align-items: center !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  list-style: none !important;
}
body ul.view_mode.viewsbox > li::before{ content: none !important; }
body a#gridview.switcher, body a#listview.switcher,
body ul.view_mode.viewsbox a.switcher{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important; height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important; margin: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-sm) !important;
  background: var(--surface) !important;
  text-align: center !important;
  text-indent: 0 !important;
  overflow: hidden !important;
}
body a#gridview.switcher::before,
body a#listview.switcher::before,
body ul.view_mode.viewsbox a.switcher::before{
  display: block !important;
  width: auto !important; height: auto !important;
  line-height: 1 !important; font-size: 15px !important;
  margin: 0 !important; padding: 0 !important;
  vertical-align: middle !important; text-indent: 0 !important;
}
body a#gridview.switcher.active, body a#listview.switcher.active,
body ul.view_mode.viewsbox a.switcher.active{
  background: var(--wash) !important;
  border-color: rgba(154,67,31,.30) !important;
}
body a#gridview.switcher.active::before,
body a#listview.switcher.active::before{ color: var(--accent-ink) !important; }
body div.tev_sorting_option{
  display: flex !important; align-items: center !important;
  margin: 0 !important; padding: 0 !important; float: none !important;
}
body div.tev_sorting_option form, body div.tev_sorting_option .select-wrap{
  margin: 0 !important; padding: 0 !important; display: flex !important; align-items: center !important;
}
body select#tevolution_sortby.tev_options_sel{
  height: 36px !important; min-height: 36px !important;
  padding: 0 var(--s5) 0 var(--s4) !important;
  line-height: 1.2 !important; margin: 0 !important;
  box-sizing: border-box !important;
}

/* --- 33.9 EVENTS: the row was a card containing a second card (the
   <article> repeated the white fill, 0.8px border and 20px radius), the
   date tag carried a dangling border-bottom, images were object-fit:fill
   so every row was a different height, and the list container padded
   96px/160px. Rebuild as one card with a proper media column. (item 9) --- */
body .tribe-events-l-container,
body section.tribe-events-l-container{
  padding: var(--s6) 0 var(--s7) !important;
}
body .tribe-common .tribe-common-l-container{ max-width: 1230px !important; }
body ul.tribe-events-calendar-list{ margin: 0 !important; padding: 0 !important; }
body li.tribe-events-calendar-list__event-row{
  display: flex !important;
  align-items: stretch !important;
  gap: var(--s5) !important;
  background: var(--surface) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--sh-1) !important;
  padding: var(--card-pad) !important;
  margin: 0 0 var(--stack) !important;
  width: 100% !important;
}
body .tribe-events-calendar-list__event-date-tag{
  flex: 0 0 76px !important; width: 76px !important; max-width: 76px !important;
  border: 0 !important; border-bottom: 0 !important;
  padding: 0 !important; margin: 0 !important;
  text-align: center !important;
}
body .tribe-events-calendar-list__event-date-tag::after,
body .tribe-events-calendar-list__event-date-tag::before{ content: none !important; }
body .tribe-events-calendar-list__event-date-tag-datetime{
  display: flex !important; flex-direction: column !important;
  align-items: center !important; padding: 0 !important; margin: 0 !important;
}
body .tribe-events-calendar-list__event-wrapper{
  flex: 1 1 auto !important; min-width: 0 !important;
  padding: 0 !important; margin: 0 !important;
}
/* the nested second card */
body article.tribe-events-calendar-list__event{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: var(--s5) !important;
  background: transparent !important;
  border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important; margin: 0 !important;
  width: 100% !important;
}
body .tribe-events-calendar-list__event-featured-image-wrapper{
  flex: 0 0 200px !important; width: 200px !important; max-width: 200px !important;
  padding: 0 !important; margin: 0 !important; order: 2 !important;
}
body img.tribe-events-calendar-list__event-featured-image{
  display: block !important;
  width: 100% !important; max-width: 100% !important;
  height: 132px !important;
  object-fit: cover !important;
  border-radius: var(--r-md) !important;
  margin: 0 !important;
}
body .tribe-events-calendar-list__event-details{
  flex: 1 1 auto !important; min-width: 0 !important;
  padding: 0 !important; margin: 0 !important; order: 1 !important;
}
body .tribe-events-calendar-list__event-title{ margin: 4px 0 6px !important; }
body .tribe-events-calendar-list__event-description{ margin: 0 !important; }
body .tribe-events-calendar-list__event-description p{ margin: 0 0 6px !important; }
body .tribe-events-calendar-list__month-separator{
  margin: var(--s6) 0 var(--s4) !important;
}
body .tribe-events-header{ padding: 0 !important; margin: 0 0 var(--s5) !important; }
body .tribe-events-c-top-bar{ margin: 0 0 var(--s5) !important; }
/* gutter classes use negative margins that fight the flex layout */
body .tribe-events .tribe-common-g-row--gutters{
  margin-left: 0 !important; margin-right: 0 !important;
}
body .tribe-events .tribe-common-g-row--gutters > .tribe-common-g-col{
  padding-left: 0 !important; padding-right: 0 !important;
}

/* --- 33.10 STAKEHOLDERS: ul.peoplelisting was align-items:start (set in
   31) so every card hugged its own content - a record missing a logo or
   socials produced a shorter card and the View Profile button landed at a
   different height. Stretch the row and pin the action row. (item 10) --- */
body ul.peoplelisting{
  align-items: stretch !important;
  gap: var(--gutter) !important;
}
body ul.peoplelisting > li{
  height: 100% !important;
  display: flex !important; flex-direction: column !important;
  padding: var(--card-pad) !important; margin: 0 !important;
}
body ul.peoplelisting > li .peopleinfo-wrap{
  flex: 1 1 auto !important;
  display: flex !important; flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important; height: auto !important;
}
body ul.peoplelisting > li .peopleinfo-wrap > a{
  flex: 0 0 auto !important; display: block !important;
  line-height: 0 !important; margin: 0 !important; padding: 0 !important;
}
body ul.peoplelisting > li .peopleinfo-wrap > a img{
  display: block !important; float: none !important;
  width: 60px !important; height: 60px !important;
  object-fit: contain !important;
  margin: 0 var(--s3) 0 0 !important;
}
body ul.peoplelisting > li .people_info{
  flex: 1 1 auto !important; min-width: 0 !important;
  display: flex !important; flex-direction: column !important;
  height: auto !important; align-self: stretch !important;
}
body ul.peoplelisting p.peoplelink{ margin: 0 0 var(--s3) !important; padding: 0 0 var(--s3) !important; }
body ul.peoplelisting p.links{
  margin-top: auto !important;
  padding-top: var(--s3) !important;
  margin-bottom: 0 !important;
}
/* empty rows must not leave a gap or a stray rule */
body ul.peoplelisting p:empty{ display: none !important; }

/* --- 33.11 FOOTER: .footer_top .footer-wrap carried a white fill, so the
   footer read as a white slab dropped onto the cream band while
   .footer_bottom stayed transparent - no symmetry with the page. Flatten
   to one band, align both rows to the same 1230px container as the rest of
   the site, symmetric padding. (item 14) --- */
body footer#footer{
  padding: var(--s7) 0 0 !important;
  margin: var(--s6) 0 0 !important;
  background: var(--tint) !important;
  border-top: 1px solid var(--hairline) !important;
}
body footer#footer .footer_top{
  padding: 0 var(--s5) !important; margin: 0 !important;
  background: transparent !important;
}
body footer#footer .footer_top .footer-wrap,
body footer#footer .footer_bottom .footer-wrap,
body footer#footer .footer-wrap{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  width: 100% !important; max-width: 1230px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  float: none !important;
}
body footer#footer .footer-wrap > .columns{
  width: 100% !important; max-width: none !important;
  padding: 0 !important; margin: 0 !important; float: none !important;
}
body footer#footer .footer_widget_wrap{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--s7) !important;
  align-items: start !important;
  width: 100% !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important;
}
body footer#footer .footer_widget_wrap > .widget{
  width: auto !important; max-width: none !important;
  float: none !important; margin: 0 !important; padding: 0 !important;
}
body footer#footer .footer_bottom{
  background: transparent !important;
  border-top: 1px solid var(--hairline) !important;
  margin: var(--s7) 0 0 !important;
  padding: var(--s5) var(--s5) !important;
}
body footer#footer .footer_bottom .columns{ padding: 0 !important; margin: 0 !important; }
body footer#footer p.copyright{
  margin: 0 !important; padding: 0 !important;
  color: var(--muted) !important; font-size: .8125rem !important;
}

/* --- 33.12 RHYTHM + TEXT PLACEMENT (items 15, 16) --- */
body section#main{ padding: var(--s5) 0 var(--s6) !important; }
body #content > .widget, body .home_page_content > .widget{
  margin: 0 0 var(--s7) !important;
}
body #content > .widget:last-child,
body .home_page_content > .widget:last-child{ margin-bottom: 0 !important; }
body #content h1, body #content h2, body #content h3.widget-title,
body #content .widgettitle, body div.title-subtitle h3.widget-title{
  margin: 0 0 var(--s5) !important;
}
body .breadcrumb, body .breadcrumbs, body #breadcrumb{
  margin: 0 0 var(--s4) !important; padding: 0 !important;
}
body .page_header, body .page-title-wrap{ margin: 0 0 var(--s5) !important; }
/* headings must not collide with the copy that follows */
body #content h2 + p, body #content h3 + p, body #content h4 + p{ margin-top: 0 !important; }
body #content p{ margin: 0 0 var(--s4) !important; }
body #content p:last-child{ margin-bottom: 0 !important; }
/* orphan wrappers that render as phantom bands */
body #main div:empty:not([id*="map"]):not([class*="map"]):not([class*="gm-"]):not([class*="tribe"]),
body #content > div:empty, body #content > section:empty,
body #content .row:empty, body #content .columns:empty,
body .widget:empty, body .widget-wrap:empty, body .widget-inside:empty,
body footer#footer div:empty, body footer#footer p:empty{
  display: none !important; height: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
}
/* clearfix pseudos on every grid container we own */
body section.category_list_wrap::before, body section.category_list_wrap::after,
body #loop_listing_taxonomy::before, body #loop_listing_taxonomy::after,
body .widget_loop_taxonomy_wrap::before, body .widget_loop_taxonomy_wrap::after,
body .footer_widget_wrap::before, body .footer_widget_wrap::after,
body ul.peoplelisting::before, body ul.peoplelisting::after,
body .pagination::before, body .pagination::after,
body div.sort_options::before, body div.sort_options::after{
  content: none !important; display: none !important;
}

/* --- 33.13 RESPONSIVE --- */
@media (max-width: 1024px){
  :root{ --map-h: 320px; }
  body ul.peoplelisting{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 768px){
  body .primary_menu_wrapper .primary_menu_wrap.row{
    flex-wrap: wrap !important; gap: var(--s3) !important; padding: var(--s2) 0 !important;
  }
  body li.tribe-events-calendar-list__event-row{ flex-direction: column !important; gap: var(--s3) !important; }
  body .tribe-events-calendar-list__event-date-tag{ flex: 0 0 auto !important; width: auto !important; max-width: none !important; text-align: left !important; }
  body .tribe-events-calendar-list__event-date-tag-datetime{ flex-direction: row !important; align-items: baseline !important; gap: 6px !important; }
  body article.tribe-events-calendar-list__event{ flex-direction: column !important; }
  body .tribe-events-calendar-list__event-featured-image-wrapper{ flex: 0 0 auto !important; width: 100% !important; max-width: none !important; order: 1 !important; }
  body .tribe-events-calendar-list__event-details{ order: 2 !important; }
  body img.tribe-events-calendar-list__event-featured-image{ height: 170px !important; }
}
@media (max-width: 640px){
  :root{ --map-h: 240px; }
  body ul.peoplelisting{ grid-template-columns: 1fr !important; }
  body footer#footer .footer_widget_wrap{ grid-template-columns: 1fr !important; gap: var(--s6) !important; }
  body #header .header-widget-wrap h3.wps_visitor_title,
  body #header .header-widget-wrap #wpsvccount{ text-align: center !important; }
}

/* ============================================================
   34. v5 CORRECTIONS (verified against the live DOM)
   ============================================================ */

/* --- 34.1 STARS: span.single_rating and its inner spans carry float:left
   from the theme, so the rating row had no in-flow content and collapsed
   to height 0 even though the stars painted at 14x12. Unfloat them and let
   the row be a flex line. COLOUR/LAYOUT ONLY - no font-family. (item 8) --- */
body article.post .listing_rating .directory_rating_row,
body .listing_rating .directory_rating_row{
  display: flex !important;
  align-items: center !important;
  float: none !important;
  height: auto !important;
  min-height: 14px !important;
  overflow: visible !important;
}
body article.post .listing_rating .single_rating,
body .listing_rating .single_rating{
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  height: auto !important;
}
body article.post .listing_rating .single_rating > span,
body .listing_rating .single_rating > span{
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
}
body article.post .listing_rating,
body .listing_rating{
  height: auto !important;
  min-height: 14px !important;
  overflow: visible !important;
}
/* first star highlighted, remaining four muted */
body article.post .listing_rating .single_rating > span:first-child i.fa-star,
body .listing_rating .single_rating > span:first-child i.fa-star{ color: #D99A3C !important; }

/* --- 34.2 The rhythm rule `body #content p` in 33.12 carries ID
   specificity (1,0,2) and was outranking the class-level margin rules that
   pin card action rows, so the stakeholder buttons never dropped to the
   bottom. Re-assert those with #content in the selector. (items 10, 15) --- */
body #content ul.peoplelisting p.links,
body ul.peoplelisting p.links{
  margin: auto 0 0 !important;
  padding-top: var(--s3) !important;
}
body #content ul.peoplelisting p.peoplelink,
body ul.peoplelisting p.peoplelink{
  margin: 0 0 var(--s3) !important;
  padding: 0 0 var(--s3) !important;
}
body #content ul.peoplelisting h3,
body ul.peoplelisting h3{ margin: 0 0 var(--s2) !important; }
body #content .tribe-events-calendar-list__event-description p,
body .tribe-events-calendar-list__event-description p{ margin: 0 0 6px !important; }
body #content article.post p, body article.post p{ margin: 0 !important; }

/* ==========================================================
   PASS 2026-08-02 - verified fixes (1b,1d,1e,3,5a,5b)
   ========================================================== */
:root{
  --accent:     #B85500;
  --accent-ink: #964400;
  --accent-hi:  #D46A0A;
  --ground:     #FBF9F6;
  --map-h:      560px;
}
/* 1d: home had a hard-coded 420px clamp that ignored --map-h */
body.home #map, body.home .map_wrap{ max-height: var(--map-h) !important; }
/* 1e: one clean rounded panel, no stray rectangular border */
#map_canvas, .map_canvas{ border: 0 !important; box-shadow: none !important; border-radius: 16px !important; }
/* 1b: Google injects markers as classless divs; a white bg was
   painting over every pin. Controls all carry classes, so this
   is scoped to classless nodes only. Colour only - no bg-image. */
.gm-style div:not([class]){ background-color: transparent !important; }
/* 3: all five stars filled. COLOUR ONLY - never font-family on i/.fa */
body .listing_rating .single_rating i.fa-star,
body .listing_rating .single_rating i.fa-star.rating-off,
body .listing_rating i.fa-star.rating-off,
body article.post .listing_rating i.fa-star.rating-off{ color: var(--accent-hi) !important; }
/* 1b (reinforced): wp-custom-css + theme custom.css load AFTER this
   file, so plain specificity loses. ID-weight it. Marker wrappers are
   the only classless divs Google emits; every control carries a class. */
.gm-style div:not([class]):not(#g):not(#g){ background-color: transparent !important; }
.gm-style div:not([class]):not(#g):not(#g):before,
.gm-style div:not([class]):not(#g):not(#g):after{ content: none !important; background: none !important; }
/* 3 (final): unify all five stars to one gold. An earlier :first-child
   rule kept star 1 a different shade. COLOUR ONLY - no font-family. */
body .listing_rating i.fa-star:not(#g):not(#g){ color: var(--accent-hi) !important; }

/* ============================================================
   35. SECTION RHYTHM + CARD UNIFORMITY  (2026-08-02)
   ONE token drives every section boundary sitewide. This block
   is last, so it settles the three competing rhythm rules that
   32.6 / 32.10 / 33.12 left fighting each other:
     - 32.6  section#main .widget.special  (1,3,2)  -> 56px
     - 33.12 body .home_page_content>.widget (0,2,1)-> 48px
   32.6 outranked 33.12, so Featured Listings sat 56px from
   Latest Blogs while everything else sat at 48px. Every rule
   below is ID-weighted so nothing earlier can outrank it.
   ============================================================ */
:root{
  --rhythm: 48px;   /* the ONE section-boundary token */
  --rhythm-in: 24px;/* inside a section: title -> content, card gaps */
}

/* --- 35.1 kill the competing rhythm rules at their own weight --- */
body section#main .widget,
body section#main .widget.special,
body section#main #content > .widget,
body section#main .home_page_content > .widget{
  margin-top: 0 !important;
  margin-bottom: var(--rhythm) !important;
}
body section#main #content > .widget:last-child,
body section#main .home_page_content > .widget:last-child,
body section#main .widget:last-child{ margin-bottom: 0 !important; }

/* inner section wrappers must not add a second gap on top of the
   widget margin - 32.4 and 32.10 both set margin-bottom here */
body section#main #loop_listing_taxonomy,
body section#main section.tmpl-dir-listings,
body section#main section.category_list_wrap,
body section#main .widget_loop_taxonomy_wrap{
  margin-bottom: 0 !important;
  gap: var(--rhythm-in) !important;
}

/* --- 35.2 the page shell: one gap above and below the content --- */
body .home_page_banner{ margin: 0 !important; padding: 0 !important; }
body section#main{
  padding-top: var(--rhythm) !important;
  padding-bottom: var(--rhythm) !important;
}
body section#main > .wrap.row > #content,
body section#main > .wrap.row > aside.sidebar{ padding-top: 0 !important; }
body footer#footer{ margin-top: 0 !important; }

/* --- 35.3 the testimonial band collided with the blog card (GAP 0) --- */
body section#main .home_page_below_content{
  margin-top: var(--rhythm) !important;
  margin-bottom: 0 !important;
}

/* --- 35.4 one heading-to-content gap inside every section --- */
body #content h3.widget-title,
body #content .widgettitle,
body div.title-subtitle h3.widget-title{ margin: 0 0 var(--rhythm-in) !important; }

/* --- 35.5 EVENTS: rows were 395/488/209px tall, each a full-width
   band (142px date col + 1136px wrapper) whose text filled only
   679px - hence the dead space right. Now a uniform card grid. --- */
body .tribe-events-calendar-latest-past,
body .tribe-events-calendar-list{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) !important;
  gap: var(--rhythm-in) !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
body .tribe-events-calendar-latest-past > h2,
body .tribe-events-calendar-latest-past__heading{
  grid-column: 1 / -1 !important; margin: 0 0 var(--rhythm-in) !important;
}
body .tribe-events-calendar-latest-past::before,
body .tribe-events-calendar-latest-past::after,
body .tribe-events-calendar-latest-past__event-row::before,
body .tribe-events-calendar-latest-past__event-row::after{ content: none !important; display: none !important; }

/* each row becomes one card */
body .tribe-events-calendar-latest-past__event-row,
body .tribe-events-calendar-list__event-row{
  display: flex !important; flex-direction: column !important;
  width: 100% !important; height: 100% !important; margin: 0 !important;
  background: var(--surface, #fff) !important;
  border: 1px solid var(--hairline, #EDE0D6) !important;
  border-radius: var(--r-md, 14px) !important;
  overflow: hidden !important;
  box-shadow: var(--sh-1) !important;
}
body .tribe-events-calendar-latest-past__event-date-tag{
  flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important;
  padding: 10px 16px 0 !important; text-align: left !important;
}
body .tribe-events-calendar-latest-past__event-wrapper{
  flex: 1 1 auto !important; width: 100% !important; max-width: 100% !important;
  display: flex !important; padding: 0 !important;
}
body article.tribe-events-calendar-latest-past__event{
  display: flex !important; flex-direction: column !important;
  width: 100% !important; height: 100% !important; margin: 0 !important;
}
/* image: fitted, never letterboxed, never overflowing */
body .tribe-events-calendar-latest-past__event-featured-image-wrapper{
  flex: 0 0 auto !important; width: 100% !important; margin: 0 !important;
  aspect-ratio: 16 / 10 !important; overflow: hidden !important;
}
body .tribe-events-calendar-latest-past__event-featured-image-link{
  display: block !important; width: 100% !important; height: 100% !important;
}
body img.tribe-events-calendar-latest-past__event-featured-image{
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center !important;
  display: block !important; max-width: none !important; border-radius: 0 !important;
}
body .tribe-events-calendar-latest-past__event-details{
  flex: 1 1 auto !important; width: 100% !important; max-width: 100% !important;
  display: flex !important; flex-direction: column !important;
  padding: 14px 16px 16px !important;
}
body .tribe-events-calendar-latest-past__event-description{ flex: 1 1 auto !important; }

/* --- 35.6 STAKEHOLDERS: grid rows sized independently, so row 1 was
   265px and row 2 was 203px (p.links wraps to two lines in some
   cards). grid-auto-rows:1fr equalises every row to the tallest,
   and p.links is pinned to the bottom so buttons line up. --- */
body ul.peoplelisting{
  display: grid !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
  gap: var(--rhythm-in) !important;
}
body ul.peoplelisting > li{
  display: flex !important; flex-direction: column !important;
  height: 100% !important; min-height: 250px !important;
  align-self: stretch !important; margin: 0 !important;
}
body ul.peoplelisting > li .peopleinfo-wrap{
  flex: 1 1 auto !important; height: 100% !important;
  align-items: flex-start !important;
}
body ul.peoplelisting > li .people_info{
  flex: 1 1 auto !important; height: 100% !important;
  display: flex !important; flex-direction: column !important;
}
/* the socials + View Profile row sits on the floor of every card */
body ul.peoplelisting > li .people_info p.links{
  margin-top: auto !important; margin-bottom: 0 !important;
  align-items: center !important;
}

/* --- 35.7 CATEGORY CARDS: heading was 19.84px/600/25.8px against
   16px/400/28px links - only ~24% larger, so it did not read as a
   level above. --- */
body section.category_list_wrap article.category_list > h3,
body section.category_list_wrap article.category_list > h3 a{
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  letter-spacing: -0.01em !important;
  color: var(--ink, #2B2320) !important;
}
body section.category_list_wrap article.category_list > h3{
  margin: 0 0 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--hair-soft, #F4EBE4) !important;
}
body section.category_list_wrap article.category_list ul li a{
  font-size: 15px !important; line-height: 1.75 !important; font-weight: 400 !important;
}

/* --- 35.8 RESPONSIVE: the rhythm scales, it never disappears --- */
@media (max-width: 900px){
  :root{ --rhythm: 40px; --rhythm-in: 20px; }
}
@media (max-width: 600px){
  :root{ --rhythm: 32px; --rhythm-in: 16px; }
  body ul.peoplelisting{ grid-auto-rows: auto !important; }
  body ul.peoplelisting > li{ min-height: 0 !important; }
}

/* --- 35.9 MAP BAND: body.home .home_page_banner (0,2,1) still carried
   margin-bottom:var(--section)=56px and outranked 35.2 (0,1,1), so the
   map-to-content band measured 104px instead of the 48px rhythm. --- */
body.home .home_page_banner,
html body .home_page_banner{ margin: 0 !important; padding: 0 !important; }

/* ===== 36: vivid orange pass (client: colours not orange enough) ===== */
:root{
--accent:#F26B1D;--accent-hi:#FF7C33;--accent-ink:#9A4300;--brand:#F26B1D;
--ground:#FDFBF7;--cv-orange:#F26B1D;--cv-orange-btn:#F26B1D;
--cv-orange-bt2:#E85F0E;--cv-orange-ink:#9A4300;--cv-cream:#FDFBF7;
--accent-btn-ink:#2B1E15;
}
html,html body{background-color:#FDFBF7!important}
body #content input[type=submit]:not(#g),body #content button:not(#g):not([class*=gm-]):not(.gm-control-active),
body #content .small_btn:not(#g),body #content a.button:not(#g),body #content .tev_button:not(#g),
body #content .wpcf7-submit:not(#g),body #content .sgo:not(#g),body footer input[type=submit]:not(#g),
body .tribe-common button.tribe-common-c-btn:not(#g),body #content .tribe-events-c-search__button:not(#g){
background:#F26B1D!important;background-image:none!important;color:#2B1E15!important;
border-color:#F26B1D!important;font-weight:700!important}
body #content input[type=submit]:not(#g):hover,body #content .small_btn:not(#g):hover,
body #content a.button:not(#g):hover,body footer input[type=submit]:not(#g):hover,
body .tribe-common button.tribe-common-c-btn:not(#g):hover{background:#E85F0E!important;color:#2B1E15!important}
body .gm-style button,body .gm-style img,body .gm-style div{background-image:initial}

/* ===== 37: BEIGE GROUND, ORANGE AS ACCENT ONLY, MAP UNIFICATION, EVENTS RHYTHM (2026-08-02) ===== */
:root{--ground:#F0E9DE;--surface:#FFFFFF;--surface-2:#FBF8F3;--tint:#E9E0D2;--wash:#F5F0E7;--hairline:#E2D8C9;--hair-soft:#EAE1D4;--ink:#2E2620;--body:#4A3D36;--muted:#6B5A4E;--faint:#8C7A6B;--accent:#F26B1D;--accent-hi:#FF7C33;--accent-ink:#9A4300;--accent-btn-ink:#2B1E15;--brand:#F26B1D;--cv-orange:#F26B1D;--cv-orange-btn:#F26B1D;--cv-orange-bt2:#E85F0E;--cv-orange-ink:#9A4300;--cv-cream:#F0E9DE;--map-h:480px}
html,html body{background-color:#F0E9DE!important;color:#4A3D36!important}
html body .supreme_wrapper,html body section#main,html body #wrapper,html body .home_page_content,html body .home_page_below_content,html body #content,html body .page_header,html body #header.row{background-color:#F0E9DE!important;background-image:none!important}
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6,html body .page_header h1{color:#2E2620!important}
html body p,html body li,html body td,html body dd,html body #content p,html body .post_excerpt{color:#4A3D36!important}
html body .post_meta,html body .entry-meta,html body small,html body .tribe-common time{color:#6B5A4E!important}
html body article.post,html body article.category_list,html body ul.peoplelisting>li,html body .listing_post_wrapper>div.post,html body #content>.widget,html body aside .widget,html body .tribe-events-calendar-latest-past__event-row,html body .tmpl-dir-listings>div.post{background-color:#FFFFFF!important;border-color:#E2D8C9!important}
html body footer#footer,html body footer#footer .footer_top,html body footer#footer .footer-wrap{background-color:#FBF8F3!important;border-color:#E2D8C9!important}
html body input:not([type=submit]):not([type=button]),html body select,html body textarea{background-color:#FBF8F3!important;border-color:#E2D8C9!important;color:#4A3D36!important}
html body #content input[type=submit],html body #content button:not([class*=gm-]):not(.gm-control-active),html body #content .small_btn,html body #content a.button,html body #content .tev_button,html body #content .wpcf7-submit,html body #content .sgo,html body footer input[type=submit],html body .tribe-common button.tribe-common-c-btn,html body #content .tribe-events-c-search__button{background:#F26B1D!important;background-image:none!important;color:#2B1E15!important;border-color:#F26B1D!important;font-weight:700!important}
html body #content p a:not(.button):not(.small_btn):not(.tev_button),html body #content .post_content a:not(.button){color:#9A4300!important}
html body .listing_rating i.fa-star,html body .single_rating i,html body #content .widget-title i.fa{color:#F26B1D!important}
html body #menu-primary li.current-menu-item>a,html body #menu-secondary li.current-menu-item>a{color:#9A4300!important}
html body hr,html body .sort_bar,html body .pagination a{border-color:#E2D8C9!important}
/* --- 37.2 MAP: one band, no frame, identical dimensions on every page --- */
html body #map_canvas,html body .map_canvas{min-height:var(--map-h)!important;max-height:var(--map-h)!important;height:var(--map-h)!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
html body #category-widget,html body .category-widget,html body .map_sidebar,html body #map_sidebar,html body #listing_google_map,html body .listing_google_map,html body .top_banner_section_in,html body .iprelative,html body .map_loading_div_bg,html body .home_page_banner>.widget,html body .home_page_banner .widget,html body .home_page_banner .widget-wrap,html body .home_page_banner .widget-inside{height:var(--map-h)!important;min-height:var(--map-h)!important;max-height:var(--map-h)!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:hidden!important}
html body .home_page_banner,html body.home .home_page_banner{height:var(--map-h)!important;min-height:var(--map-h)!important;max-height:var(--map-h)!important;width:100%!important;max-width:none!important;margin:0 0 48px!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
html body #map_canvas>div,html body #map_canvas .gm-style,html body .map_canvas>div,html body .map_canvas .gm-style{height:var(--map-h)!important;max-height:var(--map-h)!important;border:0!important;border-radius:0!important}
html body.home #map,html body.home .map_wrap{height:var(--map-h)!important;max-height:var(--map-h)!important;border:0!important;border-radius:0!important}
html body .home_page_banner form.pe_advsearch_form,html body form#ajaxform.pe_advsearch_form{top:auto!important;bottom:16px!important;left:16px!important;right:auto!important;max-height:calc(var(--map-h) - 120px)!important;overflow-y:auto!important;border-radius:12px!important;box-shadow:0 6px 18px rgba(46,38,32,.16)!important;z-index:5!important}
/* --- 37.3 EVENTS: .tribe-events-calendar-latest-past is a grid whose explicit row track (564px) also sized the H2, producing a ~540px empty heading box --- */
html body .tribe-events-calendar-latest-past{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:auto!important;align-items:start!important;gap:24px!important;margin:0 0 48px!important}
html body .tribe-events-calendar-latest-past__heading{grid-column:1/-1!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important;margin:0!important;padding:0!important;line-height:1.25!important}
html body .tribe-events-calendar-latest-past__event-row{height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important;margin:0!important;padding:20px!important;border:1px solid #E2D8C9!important;border-radius:14px!important}
html body .tribe-common .tribe-common-l-container,html body #tribe-events-pg-template{padding-top:0!important;padding-bottom:0!important;max-width:none!important}
html body .tribe-events-header,html body .tribe-events-c-events-bar{margin-top:0!important;margin-bottom:24px!important}
html body .tribe-events-calendar-latest-past__event-date-tag{margin-top:0!important}
@media (max-width:900px){:root{--map-h:360px}}
@media (max-width:560px){:root{--map-h:280px}}
/* --- 37.5 MAP FRAME: .home_page_banner.map_full_width (0,2,0) and .home_page_banner .map_sidebar (0,2,0) out-ranked 37.2, so the 0.8px hairline frame and the 24px side inset survived. ID-weight them. --- */
html body #container .home_page_banner,html body .home_page_banner.map_full_width{padding:0!important;margin:0 0 48px!important;width:100%!important;max-width:none!important;height:var(--map-h)!important;min-height:var(--map-h)!important;max-height:var(--map-h)!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
html body .home_page_banner .map_sidebar,html body .home_page_banner>div,html body .home_page_banner .map_wrap,html body #container #category-widget,html body #container .category-widget,html body #container .map_sidebar,html body #container #map_sidebar,html body #container .top_banner_section_in,html body #container #listing_google_map,html body #container .listing_google_map,html body #container .home_page_banner .widget,html body #container #map_canvas{border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important;height:var(--map-h)!important;min-height:var(--map-h)!important;max-height:var(--map-h)!important;overflow:hidden!important;background:transparent!important}
/* --- 37.6 EVENTS CARD: with the 564px row clamp removed the featured image rendered at its natural 1187x742, so rows measured 1020/1020/366px. One card layout: date column, fixed thumbnail, details. --- */
html body .tribe-events-calendar-latest-past__event-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:20px!important;align-items:flex-start!important}
html body .tribe-events-calendar-latest-past__event-date-tag{flex:0 0 92px!important;width:92px!important;max-width:92px!important;padding:0!important;margin:0!important}
html body .tribe-events-calendar-latest-past__event-date-tag-datetime{display:block!important;width:100%!important;text-align:left!important}
html body .tribe-events-calendar-latest-past__event-wrapper{flex:1 1 auto!important;min-width:0!important;width:auto!important;display:block!important}
html body .tribe-events-calendar-latest-past__event{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:20px!important;align-items:flex-start!important;width:100%!important}
html body .tribe-events-calendar-latest-past__event-featured-image-wrapper{flex:0 0 260px!important;width:260px!important;max-width:260px!important;margin:0!important;padding:0!important}
html body .tribe-events-calendar-latest-past__event-featured-image-link{display:block!important;width:100%!important;height:170px!important;overflow:hidden!important;border-radius:10px!important}
html body .tribe-events-calendar-latest-past__event-featured-image{width:100%!important;height:170px!important;max-height:170px!important;object-fit:cover!important;display:block!important;border-radius:10px!important}
html body .tribe-events-calendar-latest-past__event-details{flex:1 1 auto!important;min-width:0!important;width:auto!important;padding:0!important}
html body .tribe-events-calendar-latest-past__event-description{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:8px 0 0!important}
html body .tribe-events-calendar-latest-past__event-header{margin:0 0 6px!important}
@media (max-width:700px){html body .tribe-events-calendar-latest-past__event-row,html body .tribe-events-calendar-latest-past__event{flex-direction:column!important}html body .tribe-events-calendar-latest-past__event-featured-image-wrapper,html body .tribe-events-calendar-latest-past__event-date-tag{flex:0 0 auto!important;width:100%!important;max-width:none!important}}

/* ===== 38: DEEPER BEIGE GROUND + MARKETPLACE CARDS + EVENTS BAR + SUBCATS (2026-08-02) ===== */
:root{--ground:#EAE0CE;--cv-cream:#EAE0CE;--surface:#FFFFFF;--surface-2:#FBF8F3;--tint:#EFE6D6;--wash:#F2EADE;--hairline:#DCCFB9;--hair-soft:#E5DAC6;--ink:#2E2620;--body:#463A32;--muted:#6A594C;--faint:#7A6857;--accent:#F26B1D;--accent-hi:#FF7C33;--accent-ink:#9A4300;--accent-btn-ink:#2B1E15;--brand:#F26B1D;--cv-orange:#F26B1D;--cv-orange-btn:#F26B1D;--cv-orange-bt2:#E85F0E;--cv-orange-ink:#9A4300}
html,html body{background-color:#EAE0CE!important;color:#463A32!important}
html body .supreme_wrapper,html body section#main,html body #wrapper,html body #container,html body .home_page_content,html body .home_page_below_content,html body #content,html body .page_header,html body #header.row,html body .hfeed,html body .contentarea{background-color:#EAE0CE!important;background-image:none!important}
html body p,html body li,html body td,html body dd,html body #content p,html body .post_excerpt{color:#463A32!important}
html body .post_meta,html body .entry-meta,html body small,html body .tribe-common time{color:#6A594C!important}
html body article.post,html body article.category_list,html body ul.peoplelisting>li,html body .listing_post_wrapper>div.post,html body #content>.widget,html body aside .widget,html body .tribe-events-calendar-latest-past__event-row,html body .tmpl-dir-listings>div.post{background-color:#FFFFFF!important;border-color:#DCCFB9!important}
html body footer#footer,html body footer#footer .footer_top,html body footer#footer .footer-wrap{background-color:#FBF8F3!important;border-color:#DCCFB9!important}
html body input:not([type=submit]):not([type=button]),html body select,html body textarea{background-color:#FBF8F3!important;border-color:#DCCFB9!important;color:#463A32!important}
html body hr,html body .sort_bar,html body .pagination a{border-color:#DCCFB9!important}
html body .testimonials_wrap div:not(#g):not(#g){background-color:transparent!important}
html body .testimonials_wrap>div:not(#g):not(#g),html body .testimonials_wrap .testimonial:not(#g):not(#g){background-color:#FFFFFF!important}

/* --- 38.1 MARKETPLACE (classified) CARD GRID: was a full-width float row with a
   dead right half, 52px thumb, and price/date wrapping one glyph per line. --- */
html body section#loop_classified_taxonomy{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(258px,1fr))!important;gap:24px!important;align-items:stretch!important;float:none!important;width:100%!important;margin:0 0 40px!important;padding:0!important;background:transparent!important;border:0!important}
html body section#loop_classified_taxonomy>*:not(article){grid-column:1/-1!important}
html body section#loop_classified_taxonomy>article.post{display:flex!important;flex-direction:column!important;height:100%!important;width:auto!important;min-width:0!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#FFFFFF!important;border:1px solid #DCCFB9!important;border-radius:14px!important}
html body #loop_classified_taxonomy article.post *{min-width:0!important}
html body #loop_classified_taxonomy .classified_img{order:-1!important;position:relative!important;display:block!important;width:100%!important;max-width:none!important;height:180px!important;min-height:180px!important;margin:0!important;padding:0!important;float:none!important;overflow:hidden!important;background:#EFE6D6!important;border:0!important;border-bottom:1px solid #E5DAC6!important;border-radius:0!important}
html body #loop_classified_taxonomy .classified_img>a{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body #loop_classified_taxonomy .classified_img img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;mix-blend-mode:normal!important;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
html body #loop_classified_taxonomy article.post:hover .classified_img img{transform:scale(1.04)}
/* status badge: inline style="background:#b00809" is a normal declaration, so !important wins */
html body #loop_classified_taxonomy .classified-status{position:absolute!important;top:10px!important;left:10px!important;right:auto!important;bottom:auto!important;z-index:3!important;display:inline-block!important;width:auto!important;max-width:calc(100% - 20px)!important;height:auto!important;margin:0!important;padding:5px 11px!important;background:rgba(43,30,21,.86)!important;background-image:none!important;color:#FFF3E6!important;font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:10.5px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:.09em!important;text-transform:uppercase!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;border:0!important;border-radius:999px!important;box-shadow:0 2px 8px rgba(43,30,21,.3)!important}
/* body: 2 rows -- content block, then a pinned price/date footer */
html body #loop_classified_taxonomy .entry{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:1fr auto!important;grid-template-areas:"main main" "price date"!important;column-gap:12px!important;row-gap:0!important;flex:1 1 auto!important;width:auto!important;max-width:none!important;float:none!important;margin:0!important;padding:15px 16px 14px!important;background:transparent!important;border:0!important}
html body #loop_classified_taxonomy .entry>.sort-title{grid-area:main!important;display:block!important;float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
html body #loop_classified_taxonomy .entry>.sort-price{grid-area:price!important;justify-self:start!important;text-align:left!important}
html body #loop_classified_taxonomy .entry>.sort-date{grid-area:date!important;justify-self:end!important;text-align:right!important}
html body #loop_classified_taxonomy .entry>.sort-price,html body #loop_classified_taxonomy .entry>.sort-date{display:block!important;float:none!important;width:auto!important;max-width:none!important;margin:13px 0 0!important;padding:10px 0 0!important;border-top:1px solid #E5DAC6!important;align-self:center!important;white-space:nowrap!important}
/* one price, one date, one rating -- the theme also prints a mobile copy */
html body #loop_classified_taxonomy .show-mobile{display:none!important}
html body #loop_classified_taxonomy .entry-summary,html body #loop_classified_taxonomy .rev_pin,html body #loop_classified_taxonomy .moretag{display:none!important}
html body #loop_classified_taxonomy .listing_rating~.listing_rating,html body #loop_classified_taxonomy .listing_rating .listing_rating,html body #loop_classified_taxonomy .classified-info .listing_rating:nth-of-type(n+2),html body #loop_classified_taxonomy .directory_rating_row~.directory_rating_row,html body #loop_classified_taxonomy .single_rating~.single_rating{display:none!important}
html body #loop_classified_taxonomy .classified-title,html body #loop_classified_taxonomy .classified-info{display:block!important;float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}
html body #loop_classified_taxonomy h2.entry-title{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-family:var(--f-display),"Playfair Display",Georgia,serif!important;font-size:1.0625rem!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.008em!important;margin:0 0 9px!important;padding:0!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important}
html body #loop_classified_taxonomy h2.entry-title a{color:#2E2620!important;font-family:var(--f-display),"Playfair Display",Georgia,serif!important;font-weight:600!important;text-decoration:none!important}
html body #loop_classified_taxonomy h2.entry-title a:hover{color:#9A4300!important}
html body #loop_classified_taxonomy .classified-tax-detail{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;margin:0!important;padding:0!important;float:none!important;width:auto!important}
html body #loop_classified_taxonomy p.i_category,html body #loop_classified_taxonomy p.bottom_line{display:block!important;float:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;font-size:.6875rem!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#9A4300!important}
html body #loop_classified_taxonomy p.i_category a{color:#9A4300!important;font-weight:700!important}
html body #loop_classified_taxonomy p.owner_name{display:block!important;float:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;font-size:.8125rem!important;font-weight:400!important;line-height:1.45!important;letter-spacing:0!important;text-transform:none!important;color:#6A594C!important}
html body #loop_classified_taxonomy p.owner_name a{color:#6A594C!important;font-weight:600!important}
html body #loop_classified_taxonomy p.owner_name a:hover{color:#9A4300!important}
html body #loop_classified_taxonomy p.owner_name label{display:inline!important;margin:0!important;padding:0!important;font-size:.8125rem!important;font-weight:400!important;color:#7A6857!important;text-transform:none!important;letter-spacing:0!important}
html body #loop_classified_taxonomy .listing_rating{display:block!important;float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;line-height:1!important}
html body #loop_classified_taxonomy .directory_rating_row{display:flex!important;align-items:center!important;gap:1px!important;margin:0!important;padding:0!important;float:none!important}
html body #loop_classified_taxonomy .single_rating{display:inline-flex!important;align-items:center!important;gap:1px!important;margin:0!important;padding:0!important}
html body #loop_classified_taxonomy .single_rating i{font-size:12px!important;line-height:1!important}
html body #loop_classified_taxonomy ul.other_custom_fields{display:block!important;list-style:none!important;margin:1px 0 0!important;padding:0!important;float:none!important;width:auto!important;background:transparent!important}
html body #loop_classified_taxonomy ul.other_custom_fields li{display:flex!important;align-items:baseline!important;gap:5px!important;list-style:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;font-size:.8125rem!important;font-weight:500!important;line-height:1.5!important;color:#463A32!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #loop_classified_taxonomy ul.other_custom_fields li label{display:inline!important;margin:0!important;padding:0!important;font-size:.8125rem!important;font-weight:600!important;color:#7A6857!important;text-transform:none!important;letter-spacing:0!important}
html body #loop_classified_taxonomy .classified-price,html body #loop_classified_taxonomy .cls-price-wrapper{display:inline!important;float:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:1rem!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.01em!important;color:#2E2620!important;white-space:nowrap!important}
html body #loop_classified_taxonomy .last-updated{display:inline!important;float:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;font-size:.75rem!important;font-weight:500!important;line-height:1.2!important;color:#7A6857!important;white-space:nowrap!important}
/* the GRID/LIST switcher must not re-introduce the broken float row */
html body section#loop_classified_taxonomy.list,html body section#loop_classified_taxonomy.grid{display:grid!important}
html body .classified-short{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:wrap!important;margin:0 0 20px!important;padding:0!important;border:0!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#7A6857!important}
html body .classified-short .short-option{display:flex!important;align-items:center!important;gap:18px!important;float:none!important;width:auto!important}
html body .classified-short .short-option span{float:none!important;width:auto!important;margin:0!important;padding:0!important}
html body .classified-short a{color:#6A594C!important;font-weight:700!important}
html body .classified-short a:hover{color:#9A4300!important}
@media (max-width:780px){html body section#loop_classified_taxonomy{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:16px!important}html body #loop_classified_taxonomy .classified_img{height:150px!important;min-height:150px!important}}
@media (max-width:470px){html body section#loop_classified_taxonomy{grid-template-columns:1fr!important}}

/* --- 38.2 EVENTS: map band + section#main padding stacked to 96px; the search
   row was a square white tile with a 0.8px grey border, off the panel language. --- */
html body.tribe-events-page-template .home_page_banner,html body.archive-tribe_events .home_page_banner,html body.single-tribe_events .home_page_banner,html body.tribe-events-page-template #container .home_page_banner,html body.archive-tribe_events #container .home_page_banner{margin:0!important}
html body.tribe-events-page-template section#main,html body.archive-tribe_events section#main,html body.single-tribe_events section#main{padding-top:48px!important}
html body .tribe-events-header{margin:0 0 24px!important;padding:0!important}
html body .tribe-events-header__events-bar,html body .tribe-events-c-events-bar,html body .tribe-events-c-events-bar--border{display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:0!important;margin:0 0 24px!important;padding:9px 12px!important;background:#FFFFFF!important;background-image:none!important;border:1px solid #DCCFB9!important;border-radius:14px!important;box-shadow:0 1px 2px rgba(46,38,32,.05)!important;overflow:visible!important}
html body .tribe-events-c-events-bar__search-container{flex:1 1 auto!important;display:flex!important;align-items:center!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body .tribe-events-c-events-bar__search{flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body form.tribe-events-c-search{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body .tribe-events-c-search__input-group{flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body .tribe-events-c-search__input-control{position:relative!important;display:block!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body .tribe-events-c-search__input,html body input.tribe-events-c-search__input{width:100%!important;height:44px!important;margin:0!important;padding:0 18px 0 42px!important;background:#FBF8F3!important;border:1px solid #DCCFB9!important;border-radius:999px!important;box-shadow:none!important;color:#463A32!important;font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:.9375rem!important;line-height:42px!important}
html body .tribe-events-c-search__input:focus{border-color:#F26B1D!important;outline:2px solid rgba(242,107,29,.28)!important;outline-offset:1px!important}
html body .tribe-events-c-search__input-control svg{top:14px!important;left:15px!important;color:#7A6857!important}
html body .tribe-events-c-search__button,html body button.tribe-events-c-search__button{flex:0 0 auto!important;height:44px!important;margin:0!important;padding:0 24px!important;background:#F26B1D!important;background-image:none!important;color:#2B1E15!important;border:1px solid #F26B1D!important;border-radius:999px!important;font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:.875rem!important;font-weight:700!important;letter-spacing:.02em!important;white-space:nowrap!important;box-shadow:none!important}
html body .tribe-events-c-search__button:hover,html body button.tribe-events-c-search__button:hover{background:#E85F0E!important;border-color:#E85F0E!important;color:#2B1E15!important}
html body .tribe-events-c-events-bar__views{flex:0 0 auto!important;display:flex!important;align-items:center!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body .tribe-events-c-view-selector,html body .tribe-events-c-view-selector--tabs,html body .tribe-events-c-view-selector--labels{display:flex!important;align-items:center!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html body .tribe-events-c-view-selector__list{display:flex!important;align-items:center!important;gap:4px!important;height:auto!important;margin:0!important;padding:0!important;list-style:none!important;background:transparent!important;border:0!important}
html body .tribe-events-c-view-selector__list-item{display:block!important;height:auto!important;margin:0!important;padding:0!important;list-style:none!important;background:transparent!important;border:0!important}
html body .tribe-events-c-view-selector__list-item-link{display:flex!important;align-items:center!important;height:44px!important;margin:0!important;padding:0 15px!important;background:transparent!important;border:0!important;border-radius:999px!important;color:#463A32!important;font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:.875rem!important;font-weight:600!important;text-decoration:none!important}
html body .tribe-events-c-view-selector__list-item-link:hover{background:#F2EADE!important;color:#9A4300!important}
html body .tribe-events-c-view-selector__list-item-link::after,html body .tribe-events-c-view-selector__list-item-link::before{display:none!important;content:none!important}
html body .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{background:#F2EADE!important;color:#9A4300!important;font-weight:700!important}
html body .tribe-events-c-view-selector__list-item-text{border:0!important;text-decoration:none!important}
html body .tribe-events-c-top-bar{margin:0 0 24px!important}
html body .tribe-events-c-messages__message,html body .tribe-events-header__messages{background:#FFFFFF!important;border:1px solid #DCCFB9!important;border-radius:14px!important;color:#6A594C!important}

/* --- 38.3 HOMEPAGE SUB-CATEGORY LINKS: 15px/400 #4A3D36 read as grey mist next
   to the 23px/700 CATEGORY heads. Up to 16px/600 near-ink, still clearly subordinate. --- */
html body .all_category_list_widget article.category_list li.cat-item:not(#g):not(#g){padding:10px 0!important;font-size:.8438rem!important;font-weight:500!important;color:#7A6857!important;border-bottom:1px solid #E5DAC6!important}
html body .all_category_list_widget article.category_list li.cat-item a:not(#g):not(#g){font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:1rem!important;font-weight:600!important;line-height:1.45!important;letter-spacing:0!important;color:#33291F!important;text-decoration:none!important}
html body .all_category_list_widget article.category_list li.cat-item a:not(#g):not(#g):hover{color:#9A4300!important;text-decoration:none!important}
html body .all_category_list_widget article.category_list li.view a:not(#g):not(#g){font-family:Raleway,Helvetica,Arial,sans-serif!important;font-size:.875rem!important;font-weight:700!important;letter-spacing:.045em!important;color:#9A4300!important}
html body .all_category_list_widget article.category_list li.view a:not(#g):not(#g):hover{color:#E85F0E!important}
html body .all_category_list_widget article.category_list>h3>a:not(#g):not(#g){color:#2E2620!important}

/* --- 38.4 corrections from the visual pass --- */
/* the 12px column-gap broke the card footer hairline into two stubs */
html body #loop_classified_taxonomy .entry{column-gap:0!important}
html body #loop_classified_taxonomy .entry>.sort-price{padding:10px 12px 0 0!important}
/* SORT BY / TITLE / DATE / PRICE strip wrapped its carets onto a second line */
html body .classified-short,html body .classified-short .short-option,html body .classified-short span,html body .classified-short a{white-space:nowrap!important}
html body .classified-short i{margin-left:3px!important}
/* .tribe-events-header__messages and .tribe-events-c-messages__message are
   nested, so panelling both drew a box inside a box */
html body .tribe-events-header__messages,html body .tribe-events-c-messages{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 32px!important}
html body .tribe-events-c-messages__message{background:#FFFFFF!important;border:1px solid #DCCFB9!important;border-radius:14px!important;padding:36px 24px!important;margin:0!important;color:#6A594C!important}

/* --- 38.5 justify-self:start shrink-wrapped the price cell, so its footer rule
   stopped 82px short of the date rule. Stretch it; keep the text left. --- */
html body #loop_classified_taxonomy .entry>.sort-price{justify-self:stretch!important;text-align:left!important}

/* ===== 38: kill theme custom.css white slab in testimonials ===== */
html body .testimonials_wrap div:not(#g):not(#g),
html body #testimonials div:not(#g):not(#g),
html body .testimonials_wrap div.active:not(#g):not(#g){
background:transparent!important;background-color:transparent!important;
box-shadow:none!important;border:0!important}
html body .testimonials_wrap:not(#g):not(#g){background:#F5EEE1!important;border:1px solid #DFD3BE!important;border-radius:18px!important;padding:28px 32px!important}

/* ===== 39: lighter overall theme (keeps beige character) ===== */
:root{--ground:#F3EBDD;--tint:#F8F2E7;--wash:#FBF6EE;--hairline:#E7DCC9;--surface-2:#FCFAF6;}
html,html body,html body#g0{background-color:#F3EBDD!important}
html body .supreme_wrapper:not(#g),html body section#main:not(#g),html body #main:not(#g),
html body #content:not(#g),html body #container:not(#g),html body .home_page_content:not(#g),
html body .page_header:not(#g),html body #header.row:not(#g){background-color:#F3EBDD!important}
html body .testimonials_wrap:not(#g):not(#g){background:#F9F4EA!important;border-color:#E7DCC9!important}
html body footer:not(#g),html body #footer:not(#g),html body .footer_top:not(#g){background-color:#FCFAF6!important}
