/* ============================================================
   TRINIGO: GeoDirectory Single Listing Pages
   geodir-single.css
   Loaded on: single GeoDirectory listing pages only
   NOT loaded on archive/category pages
   Requires: tokens.css (enqueued first by inc/enqueue.php)
   ============================================================ */

/* ============================================================
   1. EVERY META ROW: base layout
   Structure: .geodir_post_meta > .geodir_post_meta_icon(+label) + value(s)
   IMPORTANT: scoped to .geodir-page-single to avoid bleed into
   archive pages which also use .geodir_post_meta on cards
   ============================================================ */
.geodir-page-single .geodir_post_meta {
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 2px 0 !important;
  padding: 5px 0 !important;
  font-family: var(--tg-font-body) !important;
  font-size: 14px !important;
  color: var(--tg-text) !important;
  width: 100% !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* Icon span: full width so label sits on its own line */
.geodir-page-single .geodir_post_meta .geodir_post_meta_icon {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  color: var(--tg-teal) !important;
  margin-bottom: 2px !important;
}

/* The <i> icon */
.geodir-page-single .geodir_post_meta .geodir_post_meta_icon > i {
  flex-shrink: 0 !important;
  width: 16px !important;
  text-align: center !important;
  color: var(--tg-teal) !important;
  font-size: 13px !important;
}

/* Label text inside icon span */
.geodir-page-single .geodir_post_meta .geodir_post_meta_icon .geodir_post_meta_title {
  font-family: var(--tg-font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--tg-meta) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
}

/* Value elements */
.geodir-page-single .geodir_post_meta > span:not(.geodir_post_meta_icon),
.geodir-page-single .geodir_post_meta > a {
  font-family: var(--tg-font-body) !important;
  font-size: 14px !important;
  color: var(--tg-text) !important;
}
.geodir-page-single .geodir_post_meta > a {
  color: var(--tg-teal) !important;
  text-decoration: none !important;
}

/* ============================================================
   2. ADDRESS ROW
   ============================================================ */
.geodir-page-single .geodir-field-address > span:not(.geodir_post_meta_icon) {
  display: inline !important;
}
.geodir-page-single .geodir-field-address > span:not(.geodir_post_meta_icon)::after {
  content: ', ' !important;
}
.geodir-page-single .geodir-field-address > span:not(.geodir_post_meta_icon):last-child::after {
  content: '' !important;
}

/* ============================================================
   3. CATEGORY & TAG PILLS on single page
   ============================================================ */
.geodir-page-single .geodir-field-post_category,
.geodir-page-single .geodir-field-post_tags {
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 4px !important;
  align-items: center !important;
  overflow: visible !important;
}
.geodir-page-single .geodir-field-post_category .geodir_post_meta_icon > i,
.geodir-page-single .geodir-field-post_tags .geodir_post_meta_icon > i {
  display: none !important;
}
.geodir-page-single .geodir-field-post_category a,
.geodir-page-single .geodir-field-post_tags a {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--tg-teal-tint) !important;
  color: var(--tg-teal) !important;
  border: 1px solid var(--tg-teal-tint-border) !important;
  border-radius: var(--tg-radius-tag) !important;
  padding: 3px 10px !important;
  font-family: var(--tg-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.2s, color 0.2s !important;
  margin: 0 !important;
}
.geodir-page-single .geodir-field-post_category a:hover,
.geodir-page-single .geodir-field-post_tags a:hover {
  background: var(--tg-teal) !important;
  color: var(--tg-white) !important;
}

/* ============================================================
   4. AMENITIES LIST
   ============================================================ */
.geodir-page-single .geodir-field-amenlist {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px 16px !important;
  padding: 8px 0 0 !important;
  list-style: none !important;
  margin: 0 !important;
  width: 100% !important;
}
.geodir-page-single .geodir-field-amenlist li {
  font-family: var(--tg-font-body) !important;
  font-size: 13px !important;
  color: var(--tg-text) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  list-style: none !important;
  line-height: 1.4 !important;
  min-width: 0 !important;
}
.geodir-page-single .geodir-field-amenlist li::before {
  content: '' !important;
  display: inline-block !important;
  width: 6px !important; height: 6px !important;
  min-width: 6px !important; min-height: 6px !important;
  border-radius: 50% !important;
  background: var(--tg-teal) !important;
  margin-top: 5px !important;
  flex-shrink: 0 !important;
}

/* ============================================================
   5. RATES & OTHER INFO ROWS
   ============================================================ */
.geodir-page-single [class*="geodir-field-roomrat"],
.geodir-page-single [class*="geodir-field-rooms"],
.geodir-page-single [class*="geodir-field-mealp"],
.geodir-page-single [class*="geodir-field-parking"],
.geodir-page-single [class*="geodir-field-checkin"],
.geodir-page-single [class*="geodir-field-checkout"],
.geodir-page-single [class*="geodir-field-minimum"],
.geodir-page-single [class*="geodir-field-check_in_day"] {
  padding: 6px 0 !important;
  border-bottom: 1px solid var(--tg-divider-subtle) !important;
}

/* ============================================================
   6. TAB SECTION HEADINGS
   ============================================================ */
.geodir-page-single .gd-tab-list-title {
  font-family: var(--tg-font-heading) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--tg-text) !important;
  margin-bottom: 6px !important;
  margin-top: 0 !important;
}
.geodir-page-single .gd-tab-list-title a {
  color: var(--tg-text) !important;
  text-decoration: none !important;
}
.geodir-page-single .gd-tab-list-title a:hover { color: var(--tg-teal) !important; }

.geodir-page-single .geodir-tabs-content > div > hr {
  border: none !important;
  border-top: 2px solid var(--tg-teal) !important;
  opacity: 1 !important;
  margin: 0 0 20px !important;
}
.geodir-page-single .geodir-tabs-content > div.mb-4 {
  margin-bottom: 2rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid var(--tg-border) !important;
}
.geodir-page-single .geodir-tabs-content > div.mb-4:last-child {
  border-bottom: none !important;
}

/* ============================================================
   7. GD BADGES: neutralise (Google ad pills not targetable)
   ============================================================ */
.geodir-page-single .gd-badge.btn,
.geodir-page-single .gd-badge.border-0,
.geodir-page-single .gd-badge.badge {
  background: var(--tg-badge-neutral) !important;
  color: var(--tg-meta) !important;
  border: 1px solid var(--tg-border) !important;
  border-radius: var(--tg-radius-tag) !important;
  padding: 2px 8px !important;
  font-family: var(--tg-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  transition: background 0.2s, color 0.2s !important;
}
.geodir-page-single .gd-badge:hover {
  background: var(--tg-teal) !important;
  color: var(--tg-white) !important;
  border-color: var(--tg-teal) !important;
}

/* ============================================================
   8. CLAIM BUTTON
   ============================================================ */
.geodir-page-single .geodir-post-claim .geodir-claim-post-form-link,
.geodir-page-single .gd-post-claim-wrap a {
  display: inline-block !important;
  background: transparent !important;
  color: var(--tg-teal) !important;
  border: 1px solid var(--tg-teal) !important;
  border-radius: var(--tg-radius-control) !important;
  padding: var(--tg-btn-pad-secondary) !important;
  font-family: var(--tg-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
.geodir-page-single .geodir-post-claim .geodir-claim-post-form-link:hover,
.geodir-page-single .gd-post-claim-wrap a:hover {
  background: var(--tg-teal) !important;
  color: var(--tg-white) !important;
}

/* ============================================================
   9. MAP WIDGET
   ============================================================ */
.geodir-page-single .geodir-map-wrap,
.geodir-page-single .geodir-wgt-map {
  border-radius: var(--tg-radius-card) !important;
  overflow: hidden !important;
  border: 1px solid var(--tg-border) !important;
  box-shadow: var(--tg-shadow-map) !important;
}

/* ============================================================
   10. REVIEWS
   ============================================================ */
.geodir-page-single .geodir-comments-area {
  font-family: var(--tg-font-body) !important;
}
.geodir-page-single .geodir-comments-area h3,
.geodir-page-single .geodir-comments-area h4 {
  font-family: var(--tg-font-heading) !important;
  font-weight: 600 !important;
  color: var(--tg-text) !important;
}
.geodir-page-single .geodir-comments-area .comment-body,
.geodir-page-single .geodir-comments-area article.comment {
  background: var(--tg-white) !important;
  border: 1px solid var(--tg-border) !important;
  border-radius: var(--tg-radius-panel) !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--tg-shadow-comment) !important;
}
.geodir-page-single .geodir-review-ratings .gd-rating-outer-wrap {
  color: var(--tg-sand) !important;
}
.geodir-page-single .geodir-comments-area .fn {
  font-family: var(--tg-font-body) !important;
  font-weight: 700 !important;
  color: var(--tg-text) !important;
  font-style: normal !important;
}
.geodir-page-single .geodir-comments-area .comment-metadata,
.geodir-page-single .geodir-comments-area time {
  font-family: var(--tg-font-body) !important;
  font-size: 12px !important;
  color: var(--tg-meta) !important;
}
.geodir-page-single .geodir-comments-area .reply a {
  color: var(--tg-teal) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}
.geodir-page-single .geodir-comments-area #reply-title,
.geodir-page-single .geodir-comments-area .comment-reply-title {
  font-family: var(--tg-font-heading) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--tg-text) !important;
}
.geodir-page-single .geodir-comments-area input[type="text"],
.geodir-page-single .geodir-comments-area input[type="email"],
.geodir-page-single .geodir-comments-area textarea {
  border: 1px solid var(--tg-border) !important;
  border-radius: var(--tg-radius-control) !important;
  padding: var(--tg-field-pad-form) !important;
  font-family: var(--tg-font-body) !important;
  font-size: 14px !important;
  color: var(--tg-text) !important;
  width: 100% !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.geodir-page-single .geodir-comments-area input:focus,
.geodir-page-single .geodir-comments-area textarea:focus {
  border-color: var(--tg-teal) !important;
  box-shadow: var(--tg-focus-ring) !important;
  outline: none !important;
}
.geodir-page-single .geodir-comments-area input[type="submit"],
.geodir-page-single .geodir-comments-area 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-form) !important;
  font-family: var(--tg-font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.geodir-page-single .geodir-comments-area input[type="submit"]:hover,
.geodir-page-single .geodir-comments-area button[type="submit"]:hover {
  background: var(--tg-teal-dark) !important;
}

/* ============================================================
   11. PAYMENT METHODS
   ============================================================ */
.geodir-page-single .geodir-field-payment_methods img {
  border-radius: var(--tg-radius-tag) !important;
  border: 1px solid var(--tg-border) !important;
  padding: 4px !important;
  background: var(--tg-white) !important;
  box-shadow: var(--tg-shadow-chip) !important;
  max-height: 36px !important;
  width: auto !important;
}

/* ============================================================
   12. SIDEBAR INFO BOX (geodir_more_info: some listing types)
   ============================================================ */
.geodir-page-single .geodir_more_info {
  background: var(--tg-white) !important;
  border: 1px solid var(--tg-border) !important;
  border-radius: var(--tg-radius-card) !important;
  padding: 20px !important;
  box-shadow: var(--tg-shadow-panel) !important;
  margin-bottom: 20px !important;
}
.geodir-page-single .geodir_more_info a {
  color: var(--tg-teal) !important;
  text-decoration: none !important;
}
.geodir-page-single .geodir_more_info a:hover { color: var(--tg-blue) !important; }
