/* Shared THF palette and listing presentation. Keep business photos and logo art intact. */
:root {
  --thf-brand-bg: #0e171e;
  --thf-brand-panel: #15212b;
  --thf-brand-deep: #111b23;
  --thf-brand-mint: #9ce8bc;
  --thf-brand-line: #426c60;
  --thf-brand-text: #eef4f6;
  --thf-brand-muted: #afc0cb;
}
body, body #page-container, body #main-content,
body #et-main-area, body .et_pb_section,
body.et-db #et-boc .et-l .et_pb_section {
  background-color: var(--thf-brand-bg) !important;
}
body .thf-discovery-home, body .thf-directory-page,
body .thf-location-hub, body .thf-v2-page {
  --thf-green: var(--thf-brand-mint);
  --thf-accent: var(--thf-brand-mint);
  --thf-surface: var(--thf-brand-panel);
  --thf-muted: var(--thf-brand-muted);
  --thf-ink: var(--thf-brand-text);
  --thf-line: var(--thf-brand-line);
  background-color: var(--thf-brand-bg) !important;
  color: var(--thf-brand-text);
}

/* Solid navy surfaces throughout discovery, editorial and profile pages. */
body :is(.thf-city-card, .thf-city-section__count, .thf-city-section__empty,
  .thf-directory-card, .thf-directory-hero__stat, .thf-directory-verified,
  .thf-directory-empty, .thf-directory-filter, .thf-directory-sidebar,
  .thf-location-quicklinks, .thf-location-guide, .thf-location-confidence,
  .thf-nearby-locations, .thf-combination-guide, .thf-combination-confidence,
  .thf-category-guide, .thf-category-confidence, .thf-archive-editorial,
  .thf-archive-story, .thf-archive-sponsor, .thf-archive-top__content,
  .thf-discovery-spotlight, .thf-discovery-listing, .thf-discovery-explore,
  .thf-discovery-city, .thf-discovery-business, .thf-discovery-sponsor,
  .thf-blog-category-nav, .thf-blog-category-section, .thf-blog-card,
  .thf-author-card, .thf-author-archive__hero, .thf-related-author,
  .thf-author-feed__pagination, .thf-author-feed__empty,
  .thf-v2-verified, .thf-editorial-review-inner,
  .review-analysis-container, .review-analysis-heading,
  .review-intelligence-container) {
  background: var(--thf-brand-panel) !important;
  border-color: var(--thf-brand-line) !important;
}
body :is(.thf-city-card__media, .thf-city-card__placeholder,
  .thf-directory-card__media, .thf-directory-card__placeholder,
  .thf-discovery-listing-media, .thf-discovery-story-image,
  .thf-blog-card-image, .thf-blog-nav-links a,
  .thf-location-quicklinks a, .thf-nearby-locations a,
  .thf-author-feed article, .thf-author-archive .news-article-list article) {
  background: var(--thf-brand-deep) !important;
  border-color: var(--thf-brand-line) !important;
}
body.blog #page-container #main-content,
body.blog #page-container .et_pb_section_0_tb_body,
body.blog #page-container .et_pb_text_0_tb_body {
  background: var(--thf-brand-bg) !important;
}
body.blog #page-container :is(.sidebar, .ads-sidebar) .et_pb_widget {
  background: var(--thf-brand-panel) !important;
  border-color: var(--thf-brand-line) !important;
}
body .thf-discovery-home .thf-discovery-business,
body .thf-discovery-home .thf-discovery-business h2 {
  color: var(--thf-brand-text) !important;
}
body .thf-discovery-home .thf-discovery-business p {
  color: var(--thf-brand-muted) !important;
}
body .thf-discovery-home .thf-discovery-business .thf-discovery-eyebrow {
  color: var(--thf-brand-mint) !important;
}
body .thf-discovery-home .thf-discovery-business > a {
  background: var(--thf-brand-mint) !important;
  color: var(--thf-brand-deep) !important;
}
body :is(.thf-discovery-city:hover, .thf-discovery-cuisine-links a:hover,
  .thf-article-toc a:hover, .thf-location-quicklinks a:hover,
  .thf-nearby-locations a:hover) {
  background: #1c2d3b !important;
  border-color: var(--thf-brand-mint) !important;
}
body .thf-discovery-footer {
  background: var(--thf-brand-bg) !important;
}
body .thf-discovery-footer__context {
  background: var(--thf-brand-panel) !important;
}
body .thf-discovery-footer__primary {
  background: var(--thf-brand-mint) !important;
  color: var(--thf-brand-deep) !important;
}
body :is(.thf-city-section__count, .thf-directory-verified,
  .thf-directory-card__link, .thf-city-card__link,
  .thf-city-card__address, .thf-combination-address) {
  color: var(--thf-brand-mint) !important;
}

/* Mint badges with navy glyphs match the supplied icon reference. */
body.tax-location .thf-city-section__symbol,
body .thf-blog-section-icon,
body:is(.single-post,.single-news) #et-boc .thf-toc-icon {
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 11px;
  background: var(--thf-brand-mint) !important;
  color: var(--thf-brand-deep) !important;
  font-size: 18.7px !important;
  border: 0 !important;
}
body .thf-city-section__symbol :is(i,svg),
body .thf-blog-section-icon :is(i,svg),
body #et-boc .thf-toc-icon :is(i,svg) {
  color: var(--thf-brand-deep) !important;
}
body .thf-city-section__symbol svg,
body .thf-blog-section-icon svg,
body #et-boc .thf-toc-icon svg {
  width: 22px;
  height: 22px;
}
body .et-l--header ul.categories :is(i,svg) {
  color: var(--thf-brand-mint) !important;
  transform: scale(1.1);
  transform-origin: center;
}
body .thf-discovery-home :is(.thf-discovery-city-icon,
  .thf-discovery-cuisine-links svg, .thf-discovery-listing-meta svg) {
  color: var(--thf-brand-mint) !important;
  transform: scale(1.1);
}

/* Business logos are larger, with no added white frame or background. */
body .thf-v2-listing-logo,
body .thf-v2-listing-logo img,
body .thf-v2-ad-grid .ad-partner-logo,
body .thf-v2-ad-grid .ad-partner-logo img,
body .listing-logo-container img,
body ul.directory-listing li .avatar-container .avatar-wrapper,
body.tax-location .thf-city-card__logo,
body .thf-directory-card__avatar,
body .thf-discovery-home .thf-discovery-logo {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
body :is(.thf-v2-listing-details, .thf-v2-card, .thf-v2-contact-card,
  .thf-v2-mobile-facts, .thf-v2-feed-card,
  .thf-v2-featured-verified .listing-wrapper, .thf-v2-related-grid .listing-wrapper,
  .review-analysis-modal .review-analysis-container,
  .review-analysis-modal .review-intelligence-container,
  .review-analysis-summary, .review-analysis-group, .review-analysis-meta span,
  .review-analysis-overview-meta span, .review-source-fact-card,
  .review-source-fact-card.is-clickable:hover,
  .review-source-fact-card.is-clickable:focus-visible,
  .review-intelligence-sources .review-source-fact-card,
  .review-intelligence-sources .review-source-fact-card.is-clickable:hover,
  .review-intelligence-sources .review-source-fact-card.is-clickable:focus-visible,
  .review-overall-card, .review-intelligence-panel, .review-mention-chips span) {
  background: var(--thf-brand-panel) !important;
  border-color: var(--thf-brand-line) !important;
}
body.author :is(.thf-author-archive__hero, .thf-author-archive__portrait,
  .news-article-list article, .news-article-list .news-image,
  .thf-author-feed article, .thf-author-feed .news-image,
  .thf-author-feed__pagination a, .thf-author-feed__pagination span,
  .thf-author-feed__empty, .thf-related-author,
  .thf-author-feed__type, .thf-author-feed__type--news) {
  background: var(--thf-brand-panel) !important;
  border-color: var(--thf-brand-line) !important;
}
body.author .thf-author-archive__hero::before,
body .thf-author-card__accent {
  background: var(--thf-brand-mint) !important;
}
body:is(.single-post,.single-news) #et-boc .thf-article-toc a:hover {
  background: #1c2d3b !important;
  color: var(--thf-brand-mint) !important;
}
body :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .avatar-container {
  transform: none !important;
}
body .thf-v2-related-listings {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: minmax(0,1fr) !important;
}
body :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing li .avatar-container .avatar-wrapper {
  width: 104px !important;
  height: 104px !important;
  border-radius: 9px !important;
}
body :is(.thf-v2-featured-verified, .thf-v2-related-grid) .avatar-image {
  object-fit: contain !important;
  background: transparent !important;
}
body :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper h3.listing-title {
  font-size: 20px !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere;
}
body.tax-location .thf-city-card__logo {
  width: 104px !important;
  height: 104px !important;
  left: 12px;
  bottom: 10px;
  border-radius: 9px;
}
body .thf-directory-card__avatar {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  border-radius: 9px;
}
body .thf-directory-card__avatar img,
body .thf-city-card__logo img,
body .thf-discovery-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
body .thf-directory-card__title-row {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr);
  gap: 12px;
  align-items: center;
}
body .thf-discovery-home .thf-discovery-logo {
  width: 88px !important;
  height: 88px !important;
  flex: 0 0 88px !important;
}
body.tax-location .thf-city-card h3,
body .thf-directory-card h3,
body .thf-discovery-home .thf-discovery-listing h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere;
}

@media (min-width:1200px) {
  body.tax-location .thf-location-hub .thf-city-section__grid,
  body .thf-directory-page .thf-directory-grid,
  body .thf-discovery-home .thf-discovery-listing-grid {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 18px;
  }
}
@media (min-width:981px) and (max-width:1199px) {
  body.tax-location .thf-location-hub .thf-city-section__grid,
  body .thf-directory-page .thf-directory-grid,
  body .thf-discovery-home .thf-discovery-listing-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:980px) {
  body.tax-location .thf-location-hub .thf-city-section__grid,
  body .thf-directory-page .thf-directory-grid,
  body .thf-discovery-home .thf-discovery-listing-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing.full {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    overflow: visible !important;
  }
  body :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing.full > li.listing-item {
    width: auto !important;
    min-width: 0 !important;
  }
}
@media (max-width:640px) {
  body.tax-location .thf-city-card__logo {
    width: 76px !important;
    height: 76px !important;
    left: 7px;
    bottom: 7px;
  }
  body .thf-directory-card__title-row {
    grid-template-columns: minmax(0,1fr);
    gap: 9px;
  }
  body .thf-directory-card__avatar {
    width: 76px !important;
    height: 76px !important;
  }
  body .thf-discovery-home .thf-discovery-listing-identity {
    flex-direction: column;
    align-items: flex-start;
  }
  body .thf-discovery-home .thf-discovery-logo {
    width: 72px !important;
    height: 72px !important;
    flex-basis: 72px !important;
  }
  body.tax-location .thf-city-card h3,
  body .thf-directory-card h3,
  body .thf-discovery-home .thf-discovery-listing h3 {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }
  body :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing li .avatar-container .avatar-wrapper {
    width: 76px !important;
    height: 76px !important;
  }
  body :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper h3.listing-title {
    font-size: 17px !important;
  }
  body.tax-location .thf-city-section__symbol {
    flex-basis: 39.6px !important;
    width: 39.6px !important;
    height: 39.6px !important;
  }
}


/* Single-listing recommendations: keep large logos inside the photo region.
   Legacy shortcode avatars use negative viewport margins; isolate them here. */
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) {
  --thf-recommendation-logo: 104px;
  --thf-recommendation-photo: 190px;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .ListingSwiper {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing.full {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow: visible !important;
  align-items: stretch;
  list-style: none;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing.full > li.listing-item {
  display: block !important;
  flex: none !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  text-align: left !important;
  overflow: hidden !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .image-wrapper {
  position: relative !important;
  display: block !important;
  flex: 0 0 var(--thf-recommendation-photo) !important;
  width: 100% !important;
  height: var(--thf-recommendation-photo) !important;
  min-height: var(--thf-recommendation-photo) !important;
  max-height: var(--thf-recommendation-photo) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .banner-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .image-wrapper .avatar-container {
  position: absolute !important;
  z-index: 2;
  top: auto !important;
  right: auto !important;
  bottom: 12px !important;
  left: 12px !important;
  width: var(--thf-recommendation-logo) !important;
  height: var(--thf-recommendation-logo) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .image-wrapper .avatar-container ~ .avatar-container {
  display: none !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .image-wrapper .avatar-container .avatar-wrapper {
  position: static !important;
  display: block !important;
  width: var(--thf-recommendation-logo) !important;
  height: var(--thf-recommendation-logo) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .avatar-wrapper a,
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .avatar-wrapper .avatar-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .avatar-image {
  object-fit: contain !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .location {
  top: 10px !important;
  right: 12px !important;
  bottom: auto !important;
  left: 12px !important;
  max-width: calc(100% - 24px);
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .google-rating {
  top: 34px !important;
  right: 12px !important;
  bottom: auto !important;
  margin: 0 !important;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper h3.listing-title {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 14px 14px 6px !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper h3.listing-title .verified {
  position: relative !important;
  display: inline-block !important;
  top: auto !important;
  right: auto !important;
  width: 14px;
  height: 14px;
  margin: 0 0 0 5px !important;
  transform: none !important;
  vertical-align: middle;
}
body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper > p {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 14px 16px !important;
  color: var(--thf-brand-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}
@media (max-width: 980px) {
  body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) {
    --thf-recommendation-logo: 76px;
    --thf-recommendation-photo: 148px;
  }
  body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) ul.directory-listing.full {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper h3.listing-title {
    padding: 12px 10px 6px !important;
    font-size: 17px !important;
  }
  body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper > p {
    padding: 0 10px 14px !important;
    font-size: 13px !important;
  }
  body.single-listing :is(.thf-v2-featured-verified, .thf-v2-related-grid) .listing-wrapper .image-wrapper .avatar-container {
    bottom: 10px !important;
    left: 10px !important;
  }
}


/* Fill category, combination and directory cards without an intrinsic-ratio side gap. */
body .thf-directory-card__media {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
}
body .thf-directory-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
