/* PCNM Listing Enhancements 1.0.0
   Matches the stage 3 sidebar contact card (Additional CSS v4b, section 4). Uses the --pc-* tokens
   from Additional CSS, with fallbacks so it still looks right if those tokens are missing. */

/* phone row: same layout as the address row */
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-phone { align-items: center; }
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-phone a.pcnm-le-phone-link {
  color: var(--pc-ink, #13202F) !important; font: 600 15px/1.5 var(--pc-font-body, Inter, system-ui, sans-serif) !important;
  text-decoration: none !important; padding: 0 !important; background: none !important; border: 0 !important;
}
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-phone a.pcnm-le-phone-link:hover,
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-phone a.pcnm-le-phone-link:focus-visible {
  color: var(--pc-blue-600, #0A5CA8) !important; text-decoration: underline !important;
}

/* directions: same outline button as "Visit website" */
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions { align-items: center; }
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions a.pcnm-le-directions-link {
  flex: 1 1 auto; min-width: 0; display: flex !important; align-items: center; justify-content: center; gap: 6px;
  height: 42px; padding: 0 12px !important; border: 1px solid var(--pc-navy-800, #102B4E) !important; border-radius: var(--pc-radius-sm, 6px);
  background: #fff; color: var(--pc-navy-800, #102B4E) !important; font: 600 14px/1 var(--pc-font-body, Inter, system-ui, sans-serif) !important;
  text-decoration: none !important; white-space: nowrap;
  transition: background var(--pc-ease, 160ms ease), color var(--pc-ease, 160ms ease);
}
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions a.pcnm-le-directions-link::after { content: "\2197"; font: 600 14px/1 var(--pc-font-body, Inter, system-ui, sans-serif); }
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions a.pcnm-le-directions-link:hover,
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions a.pcnm-le-directions-link:focus-visible {
  background: var(--pc-navy-800, #102B4E); color: #fff !important;
}
body.single-rtcl_listing .listing-sidebar ul.info-list > li > .icon svg { stroke: currentColor; }
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-phone > .icon svg,
body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions > .icon svg { fill: none !important; width: 16px; height: 16px; }

/* related cards: short description for listings without a designation, max 3 lines */
body.single-rtcl_listing .pcnm-le-related .doctor-designation.pcnm-le-related-desc {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
  line-height: 1.45 !important;
}

@media (prefers-reduced-motion: reduce) {
  body.single-rtcl_listing .listing-sidebar ul.info-list > li.pcnm-le-directions a.pcnm-le-directions-link { transition: none !important; }
}

/* Related cards: equal heights, call button pinned to the bottom (only on plugin-rendered blocks). */
.pcnm-le-related .swiper-wrapper { align-items: stretch; }
.pcnm-le-related .swiper-slide.rtcl-related-slider-item { height: auto; display: flex; }
.pcnm-le-related .related-item-inner { display: flex; flex-direction: column; width: 100%; }
.pcnm-le-related .related-item-inner > .item-content { display: flex; flex-direction: column; flex: 1 1 auto; }
.pcnm-le-related .related-item-inner > .item-content > .appointment-box { margin-top: auto; }

/* Archive: the demoted "Browse Clinics" heading keeps its old h1 look. */
body h2.rtcl-listings-header-title { font-weight: 600 !important; line-height: 1.15; }
