/* Shared people and organisation visuals, applied across every workspace persona. */
.profile-avatar-person,
.initials.profile-avatar-person {
  border-radius: 50% !important;
  object-fit: cover;
}
.profile-avatar-organisation,
.initials.profile-avatar-organisation {
  border-radius: 10px !important;
  object-fit: contain;
  background: #fff;
}
.profile-picture-link.profile-picture-recruiter,
.profile-picture-link.profile-picture-candidate,
.profile-picture-link.profile-picture-agency,
.profile-picture-link.profile-picture-company {
  overflow: hidden;
}
.profile-inline-company {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  vertical-align: middle;
}
.profile-inline-company > .profile-avatar-organisation {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px;
  padding: 2px;
  border: 1px solid #e3e8ef;
}
.workspace-search-avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
}
.workspace-search-avatar > .profile-avatar-person,
.workspace-search-avatar > .profile-avatar-organisation,
.workspace-search-avatar > .initials {
  width: 48px !important;
  height: 48px !important;
}

/* Compact directory rows make all profile types easy to scan. */
.profile-directory-list,
.connected-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid #e4e8ef;
  border-radius: 12px;
  background: #fff;
}
.profile-directory-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 13px 17px;
  border-bottom: 1px solid #edf0f4;
}
.profile-directory-row:last-child,
.connected-profile-card:last-child { border-bottom: 0; }
.profile-directory-row:hover,
.connected-profile-card:hover { background: #fafcff; }
.profile-directory-photo,
.profile-directory-photo > .profile-picture-link {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
}
.profile-directory-photo .profile-avatar-person,
.profile-directory-photo .profile-avatar-organisation,
.profile-directory-photo .initials {
  width: 60px !important;
  height: 60px !important;
}
.profile-directory-photo .profile-avatar-organisation { padding: 4px; border: 1px solid #e6eaf0; }
.profile-directory-copy { min-width: 0; }
.profile-directory-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px 10px; }
.profile-directory-name .eyebrow { order: 2; margin: 0; font-size: 10px; }
.profile-directory-name > a { color: #243954; font-size: 16px; font-weight: 650; text-decoration: none; }
.profile-directory-copy p { margin: 3px 0 0; color: #43536a; font-size: 13px; line-height: 1.45; }
.profile-directory-copy small { display: block; margin-top: 2px; color: #748196; font-size: 12px; }
.profile-directory-copy > a { display: inline-block; margin-top: 3px; font-size: 12px; }
.profile-directory-empty { padding: 17px; color: #758198; }
.connected-profile-card {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto auto;
  align-items: center;
  gap: 3px 15px;
  min-width: 0;
  padding: 13px 17px;
  border-bottom: 1px solid #edf0f4;
}
.connected-profile-card .profile-card-top {
  grid-column: 1;
  grid-row: 1 / span 4;
  display: grid;
  justify-items: center;
  gap: 4px;
}
.connected-profile-card .profile-card-top .profile-picture-link,
.connected-profile-card .profile-card-top > .initials {
  width: 60px;
  height: 60px;
}
.connected-profile-card .profile-picture-link > .profile-avatar-person,
.connected-profile-card .profile-picture-link > .profile-avatar-organisation,
.connected-profile-card .profile-card-top > .initials {
  width: 60px !important;
  height: 60px !important;
}
.connected-profile-card .profile-card-top .profile-kind { font-size: 9px; }
.connected-profile-card h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: 16px; }
.connected-profile-card h3 a { color: #243954; text-decoration: none; }
.connected-profile-card > p { grid-column: 2; margin: 0; color: #43536a; font-size: 13px; line-height: 1.4; }
.connected-profile-card > .profile-meta { grid-column: 2; color: #748196; font-size: 12px; }
.connected-profile-card > .tag-list { grid-column: 2; margin: 2px 0 0; gap: 5px; }
.connected-profile-card > .profile-card-footer {
  grid-column: 3;
  grid-row: 1 / span 4;
  justify-self: end;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: max-content;
}
.connected-profile-card .profile-card-footer .section-gap { margin-top: 0; }
.connected-profile-card .profile-card-footer .profile-card-open { margin-top: 0; padding-top: 0; }

/* Larger profile imagery with consistent round people and square organisation marks. */
.profile-cover { height: 244px; }
.profile-workspace[data-profile-kind="candidate"] .profile-hero,
.profile-workspace[data-profile-kind="recruiter"] .profile-hero,
.profile-workspace[data-profile-kind="agency"] .profile-hero,
.profile-workspace[data-profile-kind="company"] .profile-hero {
  border-radius: 18px 18px 0 0;
}
.profile-workspace[data-profile-kind="candidate"] .profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0 22px;
  padding: 0 24px 22px;
  border: 1px solid #e6deeb;
  box-shadow: 0 12px 30px #4c365312;
  position: relative;
}
.profile-workspace[data-profile-kind="candidate"] .profile-hero > .profile-cover {
  grid-column: 1 / -1;
  margin: 0 -24px;
  border-radius: 17px 17px 0 0;
}
.profile-workspace[data-profile-kind="candidate"] .profile-hero-main {
  display: flex;
  align-items: flex-end;
  gap: 19px;
  margin-top: -46px;
  position: relative;
  z-index: 1;
  min-width: 0;
}
.profile-workspace[data-profile-kind="candidate"] .profile-hero-avatar .profile-avatar-person,
.profile-workspace[data-profile-kind="candidate"] .profile-hero-avatar .initials {
  width: 116px !important;
  height: 116px !important;
  border: 5px solid #fff;
  border-radius: 50% !important;
  box-shadow: 0 6px 19px #1f173021;
  background: #fff;
}
.profile-workspace[data-profile-kind="candidate"] .profile-hero-main > div:last-child { padding-top: 66px; min-width: 0; }
.profile-workspace[data-profile-kind="candidate"] .profile-hero-actions { align-self: end; padding-top: 22px; }
.profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-cover,
.profile-workspace[data-profile-kind="recruiter"] .profile-cover { height: 244px; }
.profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-hero-avatar .profile-avatar-organisation,
.profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-hero-avatar .initials {
  width: 144px !important;
  height: 144px !important;
  border-radius: 12px !important;
  object-fit: contain;
}
.profile-workspace[data-profile-kind="recruiter"] .profile-hero-avatar .profile-avatar-person,
.profile-workspace[data-profile-kind="recruiter"] .profile-hero-avatar .initials {
  width: 176px !important;
  height: 176px !important;
  border-radius: 50% !important;
  object-fit: cover;
}
.profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-hero-main,
.profile-workspace[data-profile-kind="recruiter"] .profile-hero-main { margin-top: -52px; }

/* Connection, candidate-search and talent-network rows use a shared compact rhythm. */
.network-row { grid-template-columns: 70px minmax(0, 1fr) auto; gap: 13px; padding: 13px 17px; }
.network-row-portrait { width: 66px; height: 66px; }
.network-row-portrait .profile-picture-link,
.network-row-portrait .profile-avatar-person,
.network-row-portrait .profile-avatar-organisation,
.network-row-portrait .initials { width: 66px !important; height: 66px !important; }
.network-row-portrait .profile-avatar-organisation { padding: 4px; border: 1px solid #e4e8ef; border-radius: 10px !important; }
.network-row-portrait .profile-avatar-person { border-radius: 50% !important; }
.network-row-portrait[data-profile-kind="agency"] .profile-picture-link,
.network-row-portrait[data-profile-kind="company"] .profile-picture-link { border-radius: 10px; }
.network-row-portrait[data-profile-kind="recruiter"] .profile-picture-link,
.network-row-portrait[data-profile-kind="candidate"] .profile-picture-link { border-radius: 50%; }
.network-two-column .network-row { grid-template-columns: 58px minmax(0, 1fr); padding: 12px; }
.network-two-column .network-row-portrait,
.network-two-column .network-row-portrait .profile-picture-link,
.network-two-column .network-row-portrait .profile-avatar-person,
.network-two-column .network-row-portrait .profile-avatar-organisation,
.network-two-column .network-row-portrait .initials { width: 54px !important; height: 54px !important; }
.network-two-column .network-row-portrait .profile-avatar-organisation { padding: 3px; border-radius: 9px !important; }
.people-row-main { padding-top: 16px; padding-bottom: 13px; }
.people-person .profile-avatar-person,
.people-person .initials.profile-avatar-person { width: 60px !important; height: 60px !important; min-width: 60px; border-radius: 50% !important; }
.people-person .profile-avatar-organisation,
.people-person .initials.profile-avatar-organisation { border-radius: 9px !important; }
.portal-connection-row { grid-template-columns: 68px minmax(0, 1fr) auto; gap: 13px; padding: 12px 16px; }
.portal-connection-avatar { width: 64px; height: 64px; }
.portal-connection-avatar > .profile-picture-link,
.portal-connection-avatar > .profile-picture-link .profile-avatar-person,
.portal-connection-avatar > .profile-picture-link .profile-avatar-organisation,
.portal-connection-avatar > .initials { width: 64px !important; height: 64px !important; }
.portal-connection-avatar[data-profile-kind="agency"],
.portal-connection-avatar[data-profile-kind="company"] { border-radius: 10px; }
.portal-connection-avatar[data-profile-kind="agency"] .profile-avatar-organisation,
.portal-connection-avatar[data-profile-kind="company"] .profile-avatar-organisation,
.portal-connection-avatar[data-profile-kind="agency"] .initials,
.portal-connection-avatar[data-profile-kind="company"] .initials { border-radius: 10px !important; padding: 4px; }
.portal-connection-avatar[data-profile-kind="candidate"] .profile-avatar-person,
.portal-connection-avatar[data-profile-kind="candidate"] .initials { border-radius: 50% !important; }

.portal-org-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.portal-org-grid .portal-org {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  gap: 4px 15px;
  align-items: center;
  padding: 14px 17px;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #edf0f4;
  box-shadow: none;
}
.portal-org-grid .portal-org:first-child { border-radius: 12px 12px 0 0; }
.portal-org-grid .portal-org:last-child { border-bottom: 0; border-radius: 0 0 12px 12px; }
.portal-org-heading { display: contents; }
.portal-org-avatar { grid-column: 1; grid-row: 1 / span 3; display: grid; place-items: center; width: 72px; height: 72px; }
.portal-org-avatar > .profile-picture-link,
.portal-org-avatar .profile-avatar-organisation,
.portal-org-avatar .initials { width: 70px !important; height: 70px !important; }
.portal-org-avatar .profile-avatar-organisation { padding: 5px; border: 1px solid #e4e8ef; border-radius: 10px !important; }
.portal-org-heading > div { grid-column: 2; grid-row: 1; min-width: 0; }
.portal-org-heading .eyebrow { font-size: 10px; }
.portal-org-heading h2 { margin: 2px 0; font-size: 16px; }
.portal-org-heading h2 a { color: inherit; text-decoration: none; }
.portal-org-heading p,
.portal-org-grid .portal-org > p { grid-column: 2; margin: 0; color: #56647a; font-size: 12px; }
.portal-org-grid .portal-org > .actions { grid-column: 3; grid-row: 1 / span 4; justify-content: flex-end; }
.portal-org-grid .portal-org > .portal-status { grid-column: 2; }

.agency-result-heading > .profile-picture-agency,
.agency-result-heading > .profile-picture-company {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
}
.agency-result-heading .profile-avatar-organisation { width: 72px !important; height: 72px !important; border-radius: 10px !important; object-fit: contain; }
.profile-inline-company .profile-avatar-organisation { border-radius: 7px !important; }

.message-avatar { width: 38px; height: 38px; flex: 0 0 38px; overflow: hidden; border-radius: 50%; }
.message-avatar > .profile-avatar-person,
.message-avatar > .profile-avatar-organisation,
.message-avatar > .initials { width: 100% !important; height: 100% !important; }
.message-avatar-org { border-radius: 9px; background: #fff; }
.message-avatar-org > .profile-avatar-organisation,
.message-avatar-org > .initials { border-radius: 9px !important; padding: 2px; object-fit: contain; }
.message-avatar-person > .profile-avatar-person,
.message-avatar-person > .initials { border-radius: 50% !important; object-fit: cover; }
.message-contact-row .message-avatar,
.message-contact .message-avatar { width: 44px; height: 44px; flex-basis: 44px; }

.public-profile-card[data-profile-kind="agency"] .public-avatar,
.public-profile-card[data-profile-kind="agency"] .public-avatar img { border-radius: 12px; object-fit: contain; }
.public-profile-card[data-profile-kind="recruiter"] .public-avatar,
.public-profile-card[data-profile-kind="recruiter"] .public-avatar img { border-radius: 50%; object-fit: cover; }
.public-profile-detail .profile-detail-head .public-avatar[data-profile-kind="agency"] { border-radius: 12px; }
.public-profile-detail .profile-detail-head .public-avatar[data-profile-kind="recruiter"] { border-radius: 50%; }

@media (max-width: 720px) {
  .profile-cover { height: 176px; }
  .profile-workspace[data-profile-kind="candidate"] .profile-hero { display: block; padding: 0 15px 18px; }
  .profile-workspace[data-profile-kind="candidate"] .profile-hero > .profile-cover { margin: 0 -15px; height: 156px; }
  .profile-workspace[data-profile-kind="candidate"] .profile-hero-main { gap: 12px; margin-top: -38px; }
  .profile-workspace[data-profile-kind="candidate"] .profile-hero-avatar .profile-avatar-person,
  .profile-workspace[data-profile-kind="candidate"] .profile-hero-avatar .initials { width: 92px !important; height: 92px !important; }
  .profile-workspace[data-profile-kind="candidate"] .profile-hero-main > div:last-child { padding-top: 48px; }
  .profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-cover,
  .profile-workspace[data-profile-kind="recruiter"] .profile-cover { height: 176px; }
  .profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-hero-avatar .profile-avatar-organisation,
  .profile-workspace:is([data-profile-kind="agency"], [data-profile-kind="company"]) .profile-hero-avatar .initials { width: 104px !important; height: 104px !important; }
  .profile-workspace[data-profile-kind="recruiter"] .profile-hero-avatar .profile-avatar-person,
  .profile-workspace[data-profile-kind="recruiter"] .profile-hero-avatar .initials { width: 128px !important; height: 128px !important; }
  .profile-directory-row { grid-template-columns: 54px minmax(0, 1fr); gap: 10px; padding: 11px 12px; }
  .profile-directory-photo,
  .profile-directory-photo > .profile-picture-link,
  .profile-directory-photo .profile-avatar-person,
  .profile-directory-photo .profile-avatar-organisation,
  .profile-directory-photo .initials { width: 52px !important; height: 52px !important; }
  .connected-profile-card { grid-template-columns: 56px minmax(0,1fr); gap: 4px 10px; padding: 11px 12px; }
  .connected-profile-card .profile-card-top { grid-row: 1 / span 5; }
  .connected-profile-card .profile-card-top .profile-picture-link,
  .connected-profile-card .profile-picture-link > .profile-avatar-person,
  .connected-profile-card .profile-picture-link > .profile-avatar-organisation,
  .connected-profile-card .profile-card-top > .initials { width: 52px !important; height: 52px !important; }
  .connected-profile-card h3,
  .connected-profile-card > p,
  .connected-profile-card > .profile-meta,
  .connected-profile-card > .tag-list { grid-column: 2; }
  .connected-profile-card > .profile-card-footer { grid-column: 2; grid-row: auto; justify-self: start; align-self: start; flex-direction: row; align-items: center; flex-wrap: wrap; min-width: 0; }
  .portal-org-grid .portal-org { grid-template-columns: 58px minmax(0,1fr); padding: 11px 12px; gap: 4px 10px; }
  .portal-org-avatar { width: 54px; height: 54px; }
  .portal-org-avatar > .profile-picture-link,
  .portal-org-avatar .profile-avatar-organisation,
  .portal-org-avatar .initials { width: 52px !important; height: 52px !important; }
  .portal-org-grid .portal-org > .actions { grid-column: 2; grid-row: auto; justify-content: flex-start; }
  .portal-connection-row { grid-template-columns: 56px minmax(0,1fr); padding: 11px 12px; }
  .portal-connection-avatar { width: 52px; height: 52px; }
  .portal-connection-avatar > .profile-picture-link,
  .portal-connection-avatar > .profile-picture-link .profile-avatar-person,
  .portal-connection-avatar > .profile-picture-link .profile-avatar-organisation,
  .portal-connection-avatar > .initials { width: 52px !important; height: 52px !important; }
  .portal-connection-actions { grid-column: 2; justify-content: flex-start; }
  .network-row { grid-template-columns: 54px minmax(0,1fr); padding: 11px 12px; }
  .network-row-portrait,
  .network-row-portrait .profile-picture-link,
  .network-row-portrait .profile-avatar-person,
  .network-row-portrait .profile-avatar-organisation,
  .network-row-portrait .initials { width: 50px !important; height: 50px !important; }
  .network-row-actions { grid-column: 2; justify-content: flex-start; }
  .workspace-search-avatar,
  .workspace-search-avatar > .profile-avatar-person,
  .workspace-search-avatar > .profile-avatar-organisation,
  .workspace-search-avatar > .initials { width: 40px !important; height: 40px !important; }
}

/* SEEK-inspired candidate profile identity follows the same people-photo treatment. */
.seek-profile-banner { height: 160px; }
.seek-profile-identity .portal-person .profile-avatar-person,
.seek-profile-identity .portal-person .initials.profile-avatar-person {
  width: 106px !important;
  height: 106px !important;
  flex-basis: 106px;
  border: 4px solid #fff;
  border-radius: 50% !important;
  object-fit: cover;
  box-shadow: 0 5px 16px #1f17301f;
}
@media (max-width: 720px) {
  .seek-profile-banner { height: 138px; }
  .seek-profile-identity .portal-person .profile-avatar-person,
  .seek-profile-identity .portal-person .initials.profile-avatar-person {
    width: 86px !important;
    height: 86px !important;
    flex-basis: 86px;
  }
}
