/* 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; }
}
