/* ============================================================
   TRINIGO: GeoDirectory Archive & Listing Pages
   geodir-archive.css
   Loaded on: archive, taxonomy, page, search pages
   NOT loaded on single listing pages
   Requires: tokens.css (enqueued first by inc/enqueue.php)
   ============================================================ */

/* ============================================================
   1. CARD SHELL: all views
   ============================================================ */
.geodir-post > .card {
  border: 1px solid var(--tg-border) !important;
  border-radius: var(--tg-radius-card) !important;
  box-shadow: var(--tg-shadow-card) !important;
  overflow: hidden !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
.geodir-post > .card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--tg-shadow-card-hover) !important;
}
.geodir-post.geodir_featured > .card {
  border-top: 3px solid var(--tg-sand) !important;
}

/* ── Top strip: favourite button ── */
.geodir-post .listing-card-top {
  background: var(--tg-blue) !important;
  padding: 7px 12px !important;
  display: flex !important;
  align-items: center !important;
}
.geodir-post .geodir-addtofav-icon {
  color: var(--tg-on-dark-subtle) !important;
  transition: color 0.2s !important;
}
.geodir-post .geodir-addtofav-icon:hover { color: var(--tg-coral) !important; }
.geodir-post .geodir-fav-text { display: none !important; }

/* ── Image ── */
.geodir-post .card-img-top {
  position: relative !important;
  overflow: hidden !important;
}
.geodir-post .geodir-post-slider .geodir-images-image img {
  transition: transform 0.4s ease !important;
  display: block !important;
  width: 100% !important;
}
.geodir-post > .card:hover .geodir-post-slider .geodir-images-image img {
  transform: scale(1.05) !important;
}

/* ============================================================
   2. GRID VIEW: multi-column (md-2, md-3, md-4)
   Category + phone overlaid on image with gradient
   ============================================================ */
.geodir-gridview.row-cols-md-2 .geodir-post .listing-card-body,
.geodir-gridview.row-cols-md-3 .geodir-post .listing-card-body,
.geodir-gridview.row-cols-md-4 .geodir-post .listing-card-body {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  background: linear-gradient(transparent, var(--tg-blue-overlay)) !important;
  padding: 22px 10px 8px !important;
  display: flex !important; align-items: center !important;
  flex-wrap: wrap !important; gap: 5px !important; z-index: 2 !important;
}
.geodir-gridview.row-cols-md-2 .geodir-post .listing-card-body .geodir-field-post_category a,
.geodir-gridview.row-cols-md-3 .geodir-post .listing-card-body .geodir-field-post_category a,
.geodir-gridview.row-cols-md-4 .geodir-post .listing-card-body .geodir-field-post_category a {
  display: inline-block !important;
  background: var(--tg-sand-tint) !important; color: var(--tg-sand) !important;
  border: 1px solid var(--tg-sand-tint-border) !important; border-radius: var(--tg-radius-tag) !important;
  padding: 2px 8px !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 0.04em !important; text-transform: uppercase !important;
  text-decoration: none !important; font-family: var(--tg-font-body) !important;
}
.geodir-gridview.row-cols-md-2 .geodir-post .listing-card-body .geodir-field-post_category .geodir_post_meta_icon,
.geodir-gridview.row-cols-md-3 .geodir-post .listing-card-body .geodir-field-post_category .geodir_post_meta_icon,
.geodir-gridview.row-cols-md-4 .geodir-post .listing-card-body .geodir-field-post_category .geodir_post_meta_icon {
  display: none !important;
}
.geodir-gridview.row-cols-md-2 .geodir-post .listing-card-body .geodir-field-phone,
.geodir-gridview.row-cols-md-3 .geodir-post .listing-card-body .geodir-field-phone,
.geodir-gridview.row-cols-md-4 .geodir-post .listing-card-body .geodir-field-phone {
  margin-left: auto !important;
}
.geodir-gridview.row-cols-md-2 .geodir-post .listing-card-body .geodir-field-phone a,
.geodir-gridview.row-cols-md-3 .geodir-post .listing-card-body .geodir-field-phone a,
.geodir-gridview.row-cols-md-4 .geodir-post .listing-card-body .geodir-field-phone a {
  color: var(--tg-on-dark) !important; font-family: var(--tg-font-body) !important;
  font-size: 12px !important; text-decoration: none !important;
}
.geodir-gridview.row-cols-md-2 .geodir-post .listing-card-body .geodir_post_meta_icon,
.geodir-gridview.row-cols-md-3 .geodir-post .listing-card-body .geodir_post_meta_icon,
.geodir-gridview.row-cols-md-4 .geodir-post .listing-card-body .geodir_post_meta_icon {
  color: var(--tg-on-dark-subtle) !important; font-size: 11px !important;
}

/* Grid card body */
.geodir-gridview.row-cols-md-2 .geodir-post .card-body,
.geodir-gridview.row-cols-md-3 .geodir-post .card-body,
.geodir-gridview.row-cols-md-4 .geodir-post .card-body {
  padding: 14px 14px 0 !important;
  flex: 1 !important; display: flex !important; flex-direction: column !important;
}

/* Grid rating: pinned footer */
.geodir-gridview.row-cols-md-2 .geodir-post .geodir-post-rating,
.geodir-gridview.row-cols-md-3 .geodir-post .geodir-post-rating,
.geodir-gridview.row-cols-md-4 .geodir-post .geodir-post-rating {
  margin-top: auto !important;
  margin-left: -14px !important; margin-right: -14px !important;
  padding: 9px 14px !important;
  border-top: 1px solid var(--tg-border) !important;
  background: var(--tg-surface-subtle) !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}

/* ============================================================
   3. LIST VIEW: horizontal layout (row-cols-md-0)
   ============================================================ */
.geodir-gridview.row-cols-md-0 .geodir-post .listing-card-body {
  position: static !important;
  background: var(--tg-blue) !important;
  padding: 7px 12px !important;
  display: flex !important; align-items: center !important;
  flex-wrap: wrap !important; gap: 5px !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .listing-card-body .geodir-field-post_category a {
  display: inline-block !important;
  background: var(--tg-sand-tint-soft) !important; color: var(--tg-sand) !important;
  border: 1px solid var(--tg-sand-tint-soft-border) !important; border-radius: var(--tg-radius-tag) !important;
  padding: 2px 7px !important; font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 0.04em !important; text-transform: uppercase !important;
  text-decoration: none !important; font-family: var(--tg-font-body) !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .listing-card-body .geodir-field-post_category .geodir_post_meta_icon {
  display: none !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .listing-card-body .geodir-field-phone {
  margin-left: auto !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .listing-card-body .geodir-field-phone a {
  color: var(--tg-on-dark-muted) !important; font-family: var(--tg-font-body) !important;
  font-size: 11px !important; text-decoration: none !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .listing-card-body .geodir_post_meta_icon {
  color: var(--tg-on-dark-faint) !important; font-size: 10px !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .card-body {
  padding: 16px 20px !important;
  display: flex !important; flex-direction: column !important;
  justify-content: center !important;
  border-left: 1px solid var(--tg-border) !important;
}
.geodir-gridview.row-cols-md-0 .geodir-post .geodir-post-rating {
  margin-top: auto !important;
  margin-left: 0 !important; margin-right: 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--tg-border) !important;
  background: transparent !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}

/* ============================================================
   4. CARD BODY CONTENT: all views
   ============================================================ */
.geodir-post .card-body {
  padding: 14px 14px 0 !important;
  flex: 1 !important; display: flex !important; flex-direction: column !important;
}
.geodir-post .geodir-post-title a,
.geodir-post .geodir-entry-title a {
  font-family: var(--tg-font-heading) !important;
  font-size: 15px !important; font-weight: 600 !important;
  color: var(--tg-text) !important; text-decoration: none !important;
  line-height: 1.35 !important; display: block !important;
  transition: color 0.2s !important;
}
.geodir-post .geodir-post-title a:hover,
.geodir-post .geodir-entry-title a:hover { color: var(--tg-teal) !important; }

.geodir-post .geodir-post-address-container { margin-top: 6px !important; }
.geodir-post .geodir-post-address-container a,
.geodir-post .geodir-post-address-container span {
  font-family: var(--tg-font-body) !important; font-size: 12px !important;
  color: var(--tg-meta) !important; text-decoration: none !important;
}
.geodir-post .geodir-post-address-container .geodir_post_meta_icon {
  color: var(--tg-teal) !important; font-size: 11px !important; margin-right: 3px !important;
}

/* Rating shared */
.geodir-post .gd-rating-info-wrap {
  display: flex !important; align-items: center !important;
  gap: 8px !important; float: none !important; width: 100% !important;
}
.geodir-post .gd-rating-outer-wrap {
  color: var(--tg-sand) !important; font-size: 13px !important; flex-shrink: 0 !important;
}
.geodir-post .gd-list-rating-text,
.geodir-post .gd-list-rating-link {
  font-family: var(--tg-font-body) !important; font-size: 12px !important;
  color: var(--tg-meta) !important; text-decoration: none !important; margin-left: auto !important;
}
.geodir-post .gd-list-rating-link:hover { color: var(--tg-teal) !important; }

/* ============================================================
   5. SEARCH BAR
   ============================================================ */
.geodir-listing-search input[type="text"],
.geodir-listing-search input[type="search"],
.geodir-listing-search select {
  border: 1px solid var(--tg-border) !important; border-radius: var(--tg-radius-control) !important;
  padding: var(--tg-field-pad) !important; font-family: var(--tg-font-body) !important;
  font-size: 14px !important; color: var(--tg-text) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.geodir-listing-search input[type="text"]:focus,
.geodir-listing-search input[type="search"]:focus,
.geodir-listing-search select:focus {
  border-color: var(--tg-teal) !important;
  box-shadow: var(--tg-focus-ring) !important; outline: none !important;
}
.geodir-listing-search input[type="submit"],
.geodir-listing-search button[type="submit"] {
  background: var(--tg-teal) !important; color: var(--tg-white) !important;
  border: none !important; border-radius: var(--tg-radius-control) !important; padding: var(--tg-btn-pad) !important;
  font-family: var(--tg-font-body) !important; font-size: 14px !important;
  font-weight: 600 !important; cursor: pointer !important; transition: background 0.2s !important;
}
.geodir-listing-search input[type="submit"]:hover,
.geodir-listing-search button[type="submit"]:hover { background: var(--tg-teal-dark) !important; }

/* ============================================================
   6. PAGINATION & WIDGET CHROME
   ============================================================ */
.geodir-pagination .page-numbers {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; min-width: 36px !important; height: 36px !important;
  border: 1px solid var(--tg-border) !important; border-radius: var(--tg-radius-control) !important;
  font-family: var(--tg-font-body) !important; font-size: 14px !important;
  color: var(--tg-teal) !important; text-decoration: none !important;
  transition: all 0.2s !important; margin: 0 2px !important;
}
.geodir-pagination .page-numbers.current,
.geodir-pagination .page-numbers:hover {
  background: var(--tg-teal) !important; color: var(--tg-white) !important;
  border-color: var(--tg-teal) !important;
}
.geodir-results-count {
  font-family: var(--tg-font-body) !important; font-size: 14px !important;
  color: var(--tg-meta) !important;
}
.widget.geodir_widget .widget-title,
.widget.gd_widget .widget-title {
  font-family: var(--tg-font-heading) !important; font-size: 16px !important;
  font-weight: 600 !important; color: var(--tg-text) !important;
  border-bottom: 2px solid var(--tg-teal) !important;
  padding-bottom: 8px !important; margin-bottom: 14px !important;
}
