/* Gutenberg page content helpers */
.tricounty-editor-page > .alignwide,
.tricounty-editor-page > .wp-block-group.alignwide { max-width: var(--max-width); margin-left: auto; margin-right: auto; }
.tricounty-editor-page > .alignfull { width: 100%; }
.tricounty-editor-page .wp-block-button__link { border-radius: var(--radius-sm); font-family: var(--font-body); font-weight: 600; }

/* Employment shortcodes used within editable pages */
.tc-jobs { display: flex; flex-direction: column; gap: 1.5rem; }
.job-listing { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:2rem; transition:all var(--transition); position:relative; overflow:hidden; }
.job-listing::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--crimson); }
.job-listing:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.job-listing__header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.job-listing__title { font-family:var(--font-display); font-size:1.25rem; color:var(--dark); margin:0; }
.job-listing__badges, .job-listing__actions { display:flex; gap:0.5rem; flex-wrap:wrap; }
.badge { display:inline-block; padding:0.25rem 0.75rem; border-radius:50px; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; }
.badge--type { background:rgba(151,0,46,0.1); color:var(--crimson); }
.badge--location { background:rgba(182,152,91,0.15); color:var(--gold-dark); }
.badge--new { background:var(--crimson); color:#fff; }
.job-listing__meta { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1rem; font-size:0.85rem; color:var(--text-muted); }
.job-listing__desc { color:var(--text-muted); font-size:0.93rem; line-height:1.7; margin-bottom:1.25rem; }
.job-listing__footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-top:1rem; border-top:1px solid var(--border); }
.job-listing__posted { font-size:0.8rem; color:var(--text-muted); }
.no-jobs { background:var(--bg-light); border:1px solid var(--border); border-radius:var(--radius-md); padding:3rem 2rem; text-align:center; }
.no-jobs h3 { font-family:var(--font-display); font-size:1.4rem; color:var(--dark); margin-bottom:0.75rem; }
.no-jobs p { color:var(--text-muted); font-size:0.95rem; max-width:500px; margin:0 auto 1.5rem; line-height:1.7; }

/* Employment application shortcode */
.tricounty-application-form h4 { font-size:0.8rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--crimson); margin:2rem 0 1rem; padding-bottom:0.5rem; border-bottom:1px solid var(--border); }
.tricounty-application-form h4:first-child { margin-top:0; }
.tricounty-application-form textarea { min-height:120px; }
.tricounty-application-form .form-help { font-size:0.82rem; color:var(--text-muted); margin-bottom:0.5rem; }
.tricounty-application-form .form-group--consent label { display:flex; gap:0.75rem; align-items:flex-start; cursor:pointer; }
.tricounty-application-form .form-group--consent input { width:auto; margin-top:0.2rem; flex-shrink:0; }
.tricounty-application-form .form-group--consent span { font-size:0.88rem; color:var(--text-muted); line-height:1.6; }

@media (max-width: 700px) {
  .job-listing { padding:1.5rem; }
  .job-listing__footer { align-items:flex-start; flex-direction:column; }
}


/* Shared physician recommendations below every profile */
.profile__other-physicians {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid var(--border);
}
.profile__other-physicians h3 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--dark);
  margin: 0 0 2rem;
  text-align: center;
}
.profile__other-physicians-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  max-width: 700px;
  margin: 0 auto;
}
.profile__other-physician-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  padding: 1.25rem;
  background: var(--bg-light);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--text);
  text-decoration: none;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.profile__other-physician-card:hover {
  color: var(--text);
  border-color: var(--crimson);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.profile__other-physician-card:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.profile__other-physician-card img {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
}
.profile__other-physician-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.15rem;
}
.profile__other-physician-name {
  color: var(--dark);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.35;
}
.profile__other-physician-specialty {
  color: var(--crimson);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .profile__other-physicians { margin-top: 3rem; padding-top: 2rem; }
  .profile__other-physicians-grid { grid-template-columns: 1fr; }
}


/* Patient Education: compact, reliable external-resource cards */
.tricounty-resource-list {
  display: grid;
  gap: 0.875rem;
  margin: 0 0 3rem;
}
.tricounty-resource-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-width: 0;
  padding: 1.15rem 1.35rem;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: 0 2px 8px rgba(26, 26, 46, 0.035);
  color: var(--text);
  text-decoration: none;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.tricounty-resource-card:hover {
  color: var(--text);
  border-color: var(--crimson);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.tricounty-resource-card:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.tricounty-resource-card__content {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
}
.tricounty-resource-card__name {
  color: var(--dark);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
}
.tricounty-resource-card__description {
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.55;
}
.tricounty-resource-card__action {
  flex: 0 0 auto;
  color: var(--crimson);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}
.tricounty-resource-card__action::after {
  content: ' ↗';
}

@media (max-width: 600px) {
  .tricounty-resource-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1rem 1.1rem;
  }
}


/* Patient Education: visual marker for trusted external resources */
.tricounty-resource-card__name {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}
.tricounty-resource-card__name::before {
  content: '';
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 1.1rem;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2397002e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2Z'/%3E%3C/svg%3E");
}

/* Patient Education: use the same recognizable resource icons as the homepage. */
.tricounty-resource-card {
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr) auto;
  align-items: center;
}
.tricounty-resource-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  font-size: 1.8rem;
  line-height: 1;
}
.tricounty-resource-card__name::before { display: none; }
@media (max-width: 600px) {
  .tricounty-resource-card {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: start;
  }
  .tricounty-resource-card__action {
    grid-column: 2;
  }
}
