/* Dental Directory thumbnail override */
.table-style .listing-table td:first-child {
  text-align: center !important;
  vertical-align: middle;
}

.table-style .listing-table td:first-child img {
  width: 90px !important;
  height: 90px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto !important;
  float: none !important;
}


/* Dental Directory: shrink the two CTA buttons */
a.but_hand_right.large-b.m-right10,
a.but_info.large-b{
  font-size: 14px !important;
  padding: 10px 18px !important;
  line-height: 18px !important;
  border-radius: 24px !important;
}

/* === PUBLIC PROFILE PHOTO MODERNIZATION (2026) === */
img.imgProfile,
img.imgProfile.thin-gray-border {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  object-fit: cover;

  /* subtle “logged-in style” */
  border: 5px solid #fff !important;
  box-shadow: 0 2px 3px rgba(0,0,0,0.25) !important;
  background: #fff;
}

/* Mobile */
@media (max-width: 480px) {
  img.imgProfile,
  img.imgProfile.thin-gray-border {
    width: 120px !important;
    height: 120px !important;
  }
}


/* === PUBLIC PROFILE PHOTO FIX (selector correction) === */
img.thin-gray-border[id*="imgProfile"],
img.thin-gray-border[id*="_imgProfile"] {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  object-fit: cover !important;

  border: 5px solid #fff !important;
  box-shadow: 0 2px 3px rgba(0,0,0,0.25) !important;
  background: #fff !important;
}

@media (max-width: 480px) {
  img.thin-gray-border[id*="imgProfile"],
  img.thin-gray-border[id*="_imgProfile"] {
    width: 120px !important;
    height: 120px !important;
  }
}


/* Dental Directory: make provider thumbnails circular with subtle shadow */
.table-style .listing-table td:first-child img[src*="/DentistryResporatory/ProfileImages/ThumbNails/"] {
  border-radius: 9999px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.12) !important;
  display: inline-block;
}

/* === ED: Dental Directory thumb circle + shadow (keep current size) === */
/* Targets thumbs rendered inside the directory listing table */
.listing-table td:first-child img,
.table-style .listing-table td:first-child img {
  display: inline-block !important;
  border-radius: 9999px !important;
  background: #fff !important;
  /* subtle shadow like publicprofile */
  box-shadow: 0 6px 14px rgba(0,0,0,0.14) !important;
  /* ensure the circle crops non-square logos */
  object-fit: cover !important;
}

/* Some rows use inline height/width; ensure we don't distort but still crop */
.listing-table td:first-child img {
  overflow: hidden !important;
}

/* Make sure the cell allows the shadow to be visible */
.listing-table td:first-child,
.table-style .listing-table td:first-child {
  overflow: visible !important;
  position: relative;
  z-index: 2;
}

/* -------------------------------------------------
   Dental Directory — circular thumbnails + shadow
   Matches actual DOM: listing-table first column img
   ------------------------------------------------- */
table.listing-table td:first-child img {
  border-radius: 50% !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.18) !important;
  object-fit: cover;
}


/* -------------------------------------------------
   Dental Directory — circular thumbnails + shadow
   Actual DOM: <table class="listing-table"> ... <td> <img ...>
   ------------------------------------------------- */
table.listing-table td:first-child img {
  border-radius: 50% !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.18) !important;
  object-fit: cover;
}

/* 2026-02-24: mobile centering mend for public /dentaldirectory */
@media only screen and (max-width: 760px) {
  /* center the directory wrapper */
  .table-style {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
    left: auto;
    right: auto;
    transform: none;
  }

  /* ensure the responsive wrapper isn't offset */
  .table-style .table-responsive {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  /* keep the table itself centered */
  .table-style .listing-table {
    margin-left: auto;
    margin-right: auto;
  }
}

/* 2026-02-24: /dentaldirectory mobile fix — neutralize injected responsive table padding */
@media only screen and (max-width: 760px){

  /* scope to public directory grid only */
  #subscribers-grid .table-responsive td{
    padding-left: 0 !important;
  }

  /* prevent the pseudo-label column from forcing a left gutter */
  #subscribers-grid .table-responsive td:before{
    width: auto !important;
    left: auto !important;
    padding-right: 0 !important;
    white-space: normal !important;
    display: block !important;
    position: relative !important;
    margin: 0 0 6px 0 !important;
  }
}

/* 2026-02-24: /dentaldirectory — override JS-injected mobile responsiveTableCss (padding-left:50%) */
@media only screen and (max-width: 760px){
  .table-responsive td{
    padding-left: 0 !important;      /* neutralize the push-right */
    text-align: center !important;   /* match the centered look you want */
  }
  .table-responsive td:before{
    position: static !important;     /* stop left:6px positioning */
    width: auto !important;          /* stop 45% label column */
    display: block !important;       /* label sits above value */
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* 2026-02-24: /dentaldirectory mobile fix — prevent any 50% width constraints (scoped) */
@media only screen and (max-width: 760px){
  #subscribers-grid,
  #subscribers-grid .table-style,
  #subscribers-grid .table-responsive,
  #subscribers-grid table.listing-table{
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* 2026-02-24: /dentaldirectory mobile grid fix
   Neutralize JS-injected responsiveTableCss (padding-left:50%) AND keep full-width cards
*/
@media only screen and (max-width: 760px){

  /* this file is only loaded on /dentaldirectory, so it's safe to touch .table-style here */
  .table-style,
  .table-style .table-responsive,
  #subscribers-grid,
  #subscribers-grid .table-responsive,
  #subscribers-grid .table-responsive table.listing-table{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  /* kill the 50% left gutter so the “card” uses full width */
  #subscribers-grid .table-responsive td{
    padding-left: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* keep labels above values, but remove the left-positioned label column */
  #subscribers-grid .table-responsive td:before{
    position: static !important;
    width: auto !important;
    left: auto !important;
    top: auto !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
    white-space: normal !important;
    display: block !important;
    text-align: center !important;
  }
}

/* 2026-02-24: /dentaldirectory mobile — force full-width “cards” after JS table->block transform */
@media only screen and (max-width: 760px){

  /* Force full width from wrapper -> table -> row -> cell */
  #subscribers-grid .table-responsive,
  #subscribers-grid .table-responsive table,
  #subscribers-grid .table-responsive thead,
  #subscribers-grid .table-responsive tbody,
  #subscribers-grid .table-responsive tr,
  #subscribers-grid .table-responsive th,
  #subscribers-grid .table-responsive td{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Some browsers need this to avoid shrink-to-fit behavior */
  #subscribers-grid .table-responsive table{
    table-layout: fixed !important;
  }

  /* Keep the content centered, kill the 50% gutter */
  #subscribers-grid .table-responsive td{
    padding-left: 0 !important;
    text-align: center !important;
  }

  /* Labels above values (no left label column) */
  #subscribers-grid .table-responsive td:before{
    width: 100% !important;
    left: auto !important;
    top: auto !important;
    position: static !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
    white-space: normal !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

/* 2026-02-24: /dentaldirectory — fix narrow 300px grid on mobile */
@media only screen and (max-width: 760px){
  .table-style,
  #subscribers-grid.grid-view{
    width: 100% !important;
    max-width: 100% !important;
  }

  #subscribers-grid .table-responsive,
  #subscribers-grid .listing-table{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 2026-02-26: /dentaldirectory — defeat global 270px .container clamp (responsive-leyouts.css) */
@media only screen and (max-width: 760px){
  .container,
  .content_fullwidth{
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .container{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* 2026-02-26: /dentaldirectory — widen subscriber grid on mobile (scoped to #subscribers-grid only) */
@media only screen and (max-width: 760px){
  #subscribers-grid,
  #subscribers-grid.grid-view,
  #subscribers-grid .table-style,
  #subscribers-grid .table-responsive{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   ED Dental Directory — New Grid (Card View) v1
   Scoped ONLY to: .table-responsive > table.listing-table
   - Converts rows to cards
   - Larger circular photo (92px)
   - Single-line location (City, State, Zip)
   ========================================================= */

.table-responsive > table.listing-table thead { 
  display: none; 
}

/* Make tbody a responsive grid */
.table-responsive > table.listing-table tbody{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}

@media (max-width: 980px){
  .table-responsive > table.listing-table tbody{ 
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
  }
}

@media (max-width: 640px){
  .table-responsive > table.listing-table tbody{ 
    grid-template-columns: 1fr; 
  }
}

/* Each row becomes a card */
.table-responsive > table.listing-table tbody tr{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:#fff;
  border:1px solid #e7e7ee;
  border-radius:14px;
  padding:16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
}

/* Remove default table styling */
.table-responsive > table.listing-table tbody tr td{
  border:0 !important;
  padding:0 !important;
  vertical-align:top;
}

/* Larger circular profile image */
.table-responsive > table.listing-table tbody tr td:first-child img{
  width:92px !important;
  height:92px !important;
  border-radius:999px !important;
  object-fit:cover !important;
  background:#fff !important;
  border:3px solid #fff !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.10), 0 1px 0 rgba(0,0,0,.04) !important;
}

/* Main content column flexible */
.table-responsive > table.listing-table tbody tr td:nth-child(2){
  flex:1;
  min-width:0;
}

/* Emphasize name */
.table-responsive > table.listing-table tbody tr td:nth-child(2),
.table-responsive > table.listing-table tbody tr td:nth-child(2) a{
  font-weight:700;
}

/* Hide separate City / State / Zip columns */
.table-responsive > table.listing-table tbody tr td:nth-child(4),
.table-responsive > table.listing-table tbody tr td:nth-child(5),
.table-responsive > table.listing-table tbody tr td:nth-child(6){
  display:none !important;
}

/* Style View Profile button */
.table-responsive > table.listing-table tbody tr td:last-child a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid rgba(142,107,209,.35);
  background: rgba(142,107,209,.10);
  color:#3b2a63;
  font-weight:700;
  font-size:12px;
  letter-spacing:.2px;
  text-decoration:none;
}

.table-responsive > table.listing-table tbody tr td:last-child a:hover{
  background: rgba(142,107,209,.16);
  border-color: rgba(142,107,209,.45);
}


/* =========================================================
   ED Dental Directory — New Grid (Card View) v1 — Fine Tune
   Fixes:
   - Stop Name/Specialty/Phone from cramming into one line
   - Make a consistent 2-col card: Photo | Content
   - Style the existing "View Profile" link as a button
   ========================================================= */

.table-responsive > table.listing-table tbody tr{
  display:grid !important;
  grid-template-columns: 108px minmax(0, 1fr);
  column-gap:16px;
  align-items:center;
}

.table-responsive > table.listing-table tbody tr td{
  display:block !important;
  text-align:left !important;
  min-width:0;
}

/* Photo column */
.table-responsive > table.listing-table tbody tr td:first-child{
  grid-column:1;
}

/* Content column: Name, Specialty, Phone */
.table-responsive > table.listing-table tbody tr td:nth-child(2),
.table-responsive > table.listing-table tbody tr td:nth-child(3),
.table-responsive > table.listing-table tbody tr td:nth-child(7){
  grid-column:2;
}

/* Name cell */
.table-responsive > table.listing-table tbody tr td:nth-child(2){
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  overflow-wrap:anywhere;
}

/* Specialty + Phone as supporting lines */
.table-responsive > table.listing-table tbody tr td:nth-child(3),
.table-responsive > table.listing-table tbody tr td:nth-child(7){
  margin-top:6px;
  font-size:12px;
  line-height:1.2;
  color:#6b6b7a;
  font-weight:600;
}

/* Turn the existing "View Profile" link inside the NAME cell into a button */
.table-responsive > table.listing-table tbody tr td:nth-child(2) a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 14px;
  margin-top:10px;
  border-radius:10px;
  border:1px solid rgba(142,107,209,.35);
  background: rgba(142,107,209,.10);
  color:#3b2a63 !important;
  font-weight:800;
  font-size:12px;
  letter-spacing:.2px;
  text-decoration:none !important;
}

.table-responsive > table.listing-table tbody tr td:nth-child(2) a:hover{
  background: rgba(142,107,209,.16);
  border-color: rgba(142,107,209,.45);
}

/* Mobile tightening */
@media (max-width: 640px){
  .table-responsive > table.listing-table tbody tr{
    grid-template-columns: 96px minmax(0, 1fr);
    padding:14px;
  }

  .table-responsive > table.listing-table tbody tr td:first-child img{
    width:84px !important;
    height:84px !important;
  }

  .table-responsive > table.listing-table tbody tr td:nth-child(2){
    font-size:17px;
  }
}


/* =========================================================
   ED Dental Directory — New Grid (Card View) v1 — Cleanup
   Goal: Match New Grid HTML preview
   - Remove injected header labels inside cells (ex: "Name", "Specialty", "Phone", "N:")
   - Hide Phone column entirely
   - Show Specialty under Name
   - Show Location as one line: City, State Zip (using existing cells)
   ========================================================= */

/* 1) Kill “responsive table” label injection (the cause of Name/Specialty/Phone showing in-card) */
.table-responsive > table.listing-table tbody tr td:before,
.table-responsive > table.listing-table tbody tr td::before{
  content: none !important;
  display: none !important;
}

/* 2) Hide Phone column (matches your preview) */
.table-responsive > table.listing-table tbody tr td:nth-child(7){
  display: none !important;
}

/* 3) Ensure card layout is: Photo | Content (stacked lines) */
.table-responsive > table.listing-table tbody tr{
  display: grid !important;
  grid-template-columns: 108px minmax(0, 1fr);
  column-gap: 16px;
  align-items: start;
}

/* Photo cell */
.table-responsive > table.listing-table tbody tr td:first-child{
  grid-column: 1;
}

/* Content column = Name + Specialty + Location + Button */
.table-responsive > table.listing-table tbody tr td:nth-child(2),
.table-responsive > table.listing-table tbody tr td:nth-child(3),
.table-responsive > table.listing-table tbody tr td:nth-child(4),
.table-responsive > table.listing-table tbody tr td:nth-child(5),
.table-responsive > table.listing-table tbody tr td:nth-child(6){
  grid-column: 2;
}

/* Name */
.table-responsive > table.listing-table tbody tr td:nth-child(2){
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0;
  padding: 0;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

/* Specialty under name */
.table-responsive > table.listing-table tbody tr td:nth-child(3){
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.2;
  color: #6b6b7a;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
}

/* 4) Location as ONE line: City, State Zip */
.table-responsive > table.listing-table tbody tr td:nth-child(4),
.table-responsive > table.listing-table tbody tr td:nth-child(5),
.table-responsive > table.listing-table tbody tr td:nth-child(6){
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px;
  line-height: 1.2;
  color: #525266;
  font-weight: 600;
}

.table-responsive > table.listing-table tbody tr td:nth-child(4){
  margin-top: 8px !important;
  display: inline-block !important; /* gives us the line break before location */
}

/* punctuation */
.table-responsive > table.listing-table tbody tr td:nth-child(4)::after{ content: ", "; }
.table-responsive > table.listing-table tbody tr td:nth-child(5)::after{ content: " "; }

/* 5) Style the existing "View Profile" link (inside the Name cell) as a button */
.table-responsive > table.listing-table tbody tr td:nth-child(2) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 14px;
  margin-top: 10px;
  border-radius: 10px;
  border: 1px solid rgba(142,107,209,.35);
  background: rgba(142,107,209,.10);
  color: #3b2a63 !important;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .2px;
  text-decoration: none !important;
}

.table-responsive > table.listing-table tbody tr td:nth-child(2) a:hover{
  background: rgba(142,107,209,.16);
  border-color: rgba(142,107,209,.45);
}

/* Mobile tighten */
@media (max-width: 640px){
  .table-responsive > table.listing-table tbody tr{
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 14px;
  }
  .table-responsive > table.listing-table tbody tr td:first-child img{
    width: 84px !important;
    height: 84px !important;
  }
  .table-responsive > table.listing-table tbody tr td:nth-child(2){
    font-size: 17px;
  }
}


/* =========================================================
   ED Dental Directory — New Grid v1 — Kill injected responsiveTableCss
   Scope: ONLY #subscribers-grid (public /dentaldirectory)
   Fixes:
   - Removes "Name/Specialty/City..." labels from td:before
   - Removes padding-left:50% gutter
   - Prevents injected display:block table transform from breaking cards
   - Hides Phone (per requirement)
   - Shows Location as one line: City, State Zip
   ========================================================= */

@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px){

  /* 1) Kill the injected labels + gutter */
  #subscribers-grid .table-responsive td{
    padding-left: 0 !important;
  }
  #subscribers-grid .table-responsive td:before{
    content: none !important;
    display: none !important;
  }

  /* 2) Undo the injected "table becomes blocks" transform for OUR grid only */
  #subscribers-grid .table-responsive table.listing-table{
    display: table !important;
    width: 100% !important;
  }
  #subscribers-grid .table-responsive thead{
    display: none !important; /* we don't want headers in card view */
  }
  #subscribers-grid .table-responsive tbody{
    display: grid !important;
    grid-template-columns: 1fr !important; /* mobile: one card per row */
    gap: 16px !important;
  }
  #subscribers-grid .table-responsive tr{
    display: grid !important;
    grid-template-columns: 108px minmax(0,1fr) !important;
    column-gap: 16px !important;
    align-items: start !important;
    border: 1px solid #e7e7ee !important;
    border-radius: 14px !important;
    padding: 16px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.04) !important;
  }
  #subscribers-grid .table-responsive td{
    display: block !important;
    border: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  /* 3) Photo: keep large + circular (overrides inline 45x45) */
  #subscribers-grid .table-responsive td:first-child img{
    width: 92px !important;
    height: 92px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
    border: 3px solid #fff !important;
    box-shadow: 0 10px 18px rgba(0,0,0,.10), 0 1px 0 rgba(0,0,0,.04) !important;
  }

  /* 4) Hide phone entirely */
  #subscribers-grid .table-responsive tr td:nth-child(7){
    display: none !important;
  }

  /* 5) Make content sit in column 2 */
  #subscribers-grid .table-responsive tr td:first-child{ grid-column: 1; grid-row: 1 / span 4; }
  #subscribers-grid .table-responsive tr td:nth-child(2){ grid-column: 2; grid-row: 1; }
  #subscribers-grid .table-responsive tr td:nth-child(3){ grid-column: 2; grid-row: 2; }
  #subscribers-grid .table-responsive tr td:nth-child(4),
  #subscribers-grid .table-responsive tr td:nth-child(5),
  #subscribers-grid .table-responsive tr td:nth-child(6){ grid-column: 2; }

  /* 6) Name + View Profile button behavior
        - Name link has class f-size14 (per model)
        - View Profile link has no class (second link) */
  #subscribers-grid .table-responsive tr td:nth-child(2) a.f-size14{
    display: inline-block !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    color: #111 !important;
    text-decoration: none !important;
  }
  #subscribers-grid .table-responsive tr td:nth-child(2) a:not(.f-size14){
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    padding: 0 14px !important;
    margin-top: 10px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(142,107,209,.35) !important;
    background: rgba(142,107,209,.10) !important;
    color: #3b2a63 !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    letter-spacing: .2px !important;
    text-decoration: none !important;
  }

  /* 7) Specialty line */
  #subscribers-grid .table-responsive tr td:nth-child(3){
    margin-top: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6b6b7a !important;
  }

  /* 8) Location line from City + State + Zip (CSS-joined) */
  #subscribers-grid .table-responsive tr td:nth-child(4),
  #subscribers-grid .table-responsive tr td:nth-child(5),
  #subscribers-grid .table-responsive tr td:nth-child(6){
    display: inline !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6b6b7a !important;
    margin-top: 6px !important;
  }
  #subscribers-grid .table-responsive tr td:nth-child(4)::after{ content: ", "; }
  #subscribers-grid .table-responsive tr td:nth-child(5)::after{ content: " "; }
  #subscribers-grid .table-responsive tr td:nth-child(6)::before{ content: ""; }
}


/* =========================================================
   ED Dental Directory — Mockup Alignment Patch (2026-02-27)
   Goals:
   1) Name = bold black (NOT button)
   2) Specialty under name, normal case, not bold
   3) Hide Phone entirely
   4) View Profile styled as button, placed after specialty/location
   ========================================================= */

/* Hide the Phone column (header + cells) */
#subscribers-grid table.listing-table thead th:nth-child(7),
#subscribers-grid table.listing-table tbody td:nth-child(7){
  display:none !important;
}

/* Name link: ONLY the name anchor has class f-size14 (per live HTML) */
#subscribers-grid .table-responsive > table.listing-table tbody tr td:nth-child(2) a.f-size14{
  display:block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 6px 0 !important;
  height: auto !important;
  border-radius: 0 !important;
  color: #111 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Specialty cell: normal case, not bold, sits under name */
#subscribers-grid .table-responsive > table.listing-table tbody tr td:nth-child(3){
  text-transform: none !important;
  font-weight: 500 !important;
  color: #5a5a6a !important;
  font-size: 12px !important;
  margin-top: 0 !important;
}

/* View Profile link in the Name cell = the *other* anchor (no f-size14) */
#subscribers-grid .table-responsive > table.listing-table tbody tr td:nth-child(2) a:not(.f-size14){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:36px !important;
  padding:0 14px !important;
  margin-top:10px !important;
  border-radius:10px !important;
  border:1px solid rgba(142,107,209,.35) !important;
  background: rgba(142,107,209,.10) !important;
  color:#3b2a63 !important;
  font-weight:800 !important;
  font-size:12px !important;
  letter-spacing:.2px !important;
  text-decoration:none !important;
  box-shadow: none !important;
}

#subscribers-grid .table-responsive > table.listing-table tbody tr td:nth-child(2) a:not(.f-size14):hover{
  background: rgba(142,107,209,.16) !important;
  border-color: rgba(142,107,209,.45) !important;
}


/* ==========================================================
   ED DentalDirectory — Card/Grid skin (CSS-only, no PHP)
   Scope: /dentaldirectory (EDGridView id subscribers-grid)
   Goal: photo + Name + Specialty + single-line Location + CTA
   ========================================================== */

#subscribers-grid thead { display:none !important; }

/* Remove table chrome */
#subscribers-grid table.listing-table {
  border:0 !important;
  background:transparent !important;
}

/* Grid of cards */
#subscribers-grid table.listing-table > tbody{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}

/* Each TR becomes a card */
#subscribers-grid table.listing-table > tbody > tr{
  display:block;
  border:1px solid #eee;
  border-radius:16px;
  background:#fff;
  padding:18px 18px 16px 18px;
  overflow:hidden;
}

/* Make TDs behave like blocks */
#subscribers-grid table.listing-table td{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  vertical-align:top !important;
}

/* Photo column (td 1) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1){
  float:left;
  width:96px;
  margin-right:16px;
}
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1) img{
  width:92px !important;
  height:92px !important;
  border-radius:999px !important;
  display:block;
  object-fit:cover;
}

/* Name column (td 2) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2){
  overflow:hidden;
}
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) a.f-size14{
  display:block;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  margin:2px 0 6px 0;
  color:#111 !important;
  text-decoration:none !important;
}

/* Remove the legacy BR gap inside name cell */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) br{
  display:none !important;
}

/* Specialty (td 3) under name */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(3){
  display:block;
  overflow:hidden;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#666;
  margin:0 0 8px 0;
}

/* Location line from City/State/Zip (td 4/5/6) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(4),
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(5),
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(6){
  display:inline;
  font-size:13px;
  color:#666;
}

/* Punctuation between separate TDs */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(5):before{ content:", "; }
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(6):before{ content:" "; }

/* Hide phone in card mode (td 7) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(7){
  display:none !important;
}

/* View Profile link styled as button (second link in name cell) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) a:not(.f-size14){
  display:inline-block;
  margin-top:12px;
  padding:10px 18px;
  border-radius:12px;
  border:1px solid rgba(140,110,255,0.35);
  background:rgba(140,110,255,0.10);
  font-weight:600;
  text-decoration:none !important;
}

/* Responsive */
@media (max-width: 1100px){
  #subscribers-grid table.listing-table > tbody{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px){
  #subscribers-grid table.listing-table > tbody{
    grid-template-columns: 1fr;
  }
  #subscribers-grid table.listing-table > tbody > tr > td:nth-child(1){
    width:86px;
    margin-right:14px;
  }
  #subscribers-grid table.listing-table > tbody > tr > td:nth-child(1) img{
    width:82px !important;
    height:82px !important;
  }
}


/* ==========================================================
   ED DentalDirectory — Card/Grid PATCH v2
   Fix: LIVE markup has <tr> before <tbody>; also table section
   display rules can block grid. Force the card layout.
   ========================================================== */

/* Hide header row(s) regardless of where they land */
#subscribers-grid table.listing-table thead,
#subscribers-grid table.listing-table > tr,
#subscribers-grid table.listing-table > tbody > tr:first-child th {
  display:none !important;
}

/* Force tbody to be grid even if table semantics fight it */
#subscribers-grid table.listing-table tbody{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
}

/* Force each data row to be a card */
#subscribers-grid table.listing-table tbody tr{
  display:block !important;
  border:1px solid #eee !important;
  border-radius:16px !important;
  background:#fff !important;
  padding:18px 18px 16px 18px !important;
  overflow:hidden !important;
}

/* Kill table cell chrome */
#subscribers-grid table.listing-table tbody tr td{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  vertical-align:top !important;
}

/* Photo cell */
#subscribers-grid table.listing-table tbody tr td:nth-child(1){
  float:left !important;
  width:96px !important;
  margin-right:16px !important;
}
#subscribers-grid table.listing-table tbody tr td:nth-child(1) img{
  width:92px !important;
  height:92px !important;
  border-radius:999px !important;
  display:block !important;
  object-fit:cover !important;
}

/* Name cell */
#subscribers-grid table.listing-table tbody tr td:nth-child(2){
  overflow:hidden !important;
}
#subscribers-grid table.listing-table tbody tr td:nth-child(2) br{
  display:none !important;
}
#subscribers-grid table.listing-table tbody tr td:nth-child(2) a.f-size14{
  display:block !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  margin:2px 0 6px 0 !important;
  color:#111 !important;
  text-decoration:none !important;
}

/* Specialty (3rd cell) becomes the line under name */
#subscribers-grid table.listing-table tbody tr td:nth-child(3){
  display:block !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:0.06em !important;
  text-transform:uppercase !important;
  color:#666 !important;
  margin:0 0 8px 0 !important;
}

/* Location line from city/state/zip */
#subscribers-grid table.listing-table tbody tr td:nth-child(4),
#subscribers-grid table.listing-table tbody tr td:nth-child(5),
#subscribers-grid table.listing-table tbody tr td:nth-child(6){
  display:inline !important;
  font-size:13px !important;
  color:#666 !important;
}
#subscribers-grid table.listing-table tbody tr td:nth-child(5):before{ content:", " !important; }
#subscribers-grid table.listing-table tbody tr td:nth-child(6):before{ content:" " !important; }

/* Hide phone (7th cell) */
#subscribers-grid table.listing-table tbody tr td:nth-child(7){
  display:none !important;
}

/* View Profile link styled as button (2nd link in name cell) */
#subscribers-grid table.listing-table tbody tr td:nth-child(2) a:not(.f-size14){
  display:inline-block !important;
  margin-top:12px !important;
  padding:10px 18px !important;
  border-radius:12px !important;
  border:1px solid rgba(140,110,255,0.35) !important;
  background:rgba(140,110,255,0.10) !important;
  font-weight:600 !important;
  text-decoration:none !important;
}

/* Responsive */
@media (max-width: 1100px){
  #subscribers-grid table.listing-table tbody{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px){
  #subscribers-grid table.listing-table tbody{
    grid-template-columns: 1fr !important;
  }
  #subscribers-grid table.listing-table tbody tr td:nth-child(1){
    width:86px !important;
    margin-right:14px !important;
  }
  #subscribers-grid table.listing-table tbody tr td:nth-child(1) img{
    width:82px !important;
    height:82px !important;
  }
}


/* =========================================================
   ED DentalDirectory — Card/Grid PATCH v3
   Fix: View Profile placement, name spacing, no-photo rows
   ========================================================= */

#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) br{
  display:none !important; /* kills the awkward extra gap */
}

#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) a.f-size14{
  display:block;
  margin:0 0 8px 0 !important;
  line-height:1.15;
}

/* Style "View Profile" link in TD2 (2nd link in that cell) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) a[href^="/publicprofile/"]:not(.f-size14){
  display:inline-block;
  margin:6px 0 0 0;
  padding:8px 14px;
  border:1px solid #d7c9f3;
  border-radius:10px;
  background:#f7f3ff;
  text-decoration:none !important;
  font-weight:600;
}

/* Normalize the photo cell, even when it has no <img> */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1){
  width:86px;
  min-width:86px;
  height:86px;
  padding:0 !important;
  position:relative;
}

/* Always show a circular placeholder behind, so no-photo rows stay aligned */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1)::before{
  content:"";
  display:block;
  width:82px;
  height:82px;
  border-radius:50%;
  background:#f2f2f2;
  box-shadow:0 10px 18px rgba(0,0,0,0.08);
}

/* If an image exists, make it match the circle */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1) img{
  width:82px !important;
  height:82px !important;
  border-radius:50% !important;
  object-fit:cover;
  position:absolute;
  top:2px;
  left:2px;
  border:0 !important;
}


/* =========================================================
   ED DentalDirectory — Card/Grid PATCH v4
   Goal: Button at bottom, clean spacing, stable no-photo
   ========================================================= */

/* Make the card body (TD2) a vertical stack */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2){
  display:flex !important;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
}

/* Title line (name) */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) a.f-size14{
  margin:0 !important;
  line-height:1.2;
}

/* Kill the <br> gap after name */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) br{
  display:none !important;
}

/* Turn the "View Profile" link into a button and pin it to the bottom of the card */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(2) a[href^="/publicprofile/"]:not(.f-size14){
  margin-top:auto !important;   /* pushes button to bottom */
  align-self:flex-start;
  display:inline-block;
  padding:10px 16px;
  border:1px solid #d7c9f3;
  border-radius:12px;
  background:#f7f3ff;
  text-decoration:none !important;
  font-weight:600;
}

/* Photo cell: consistent circle whether img exists or not */
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1){
  width:96px;
  min-width:96px;
  height:96px;
  padding:0 !important;
  position:relative;
}
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1)::before{
  content:"";
  display:block;
  width:92px;
  height:92px;
  border-radius:50%;
  background:#f2f2f2;
  box-shadow:0 10px 18px rgba(0,0,0,0.08);
}
#subscribers-grid table.listing-table > tbody > tr > td:nth-child(1) img{
  width:92px !important;
  height:92px !important;
  border-radius:50% !important;
  object-fit:cover;
  position:absolute;
  top:2px;
  left:2px;
  border:0 !important;
}

