/* Point of contact card: used on the public map and in the dashboard.
   The wrapper is a size container, so the card stacks when its own space is narrow
   (a dashboard grid column, a phone), not only when the whole screen is narrow. */
.poc-wrap { container-type: inline-size; }
.poc-card { --poc-brand: #0a66d6; --poc-ink: #142133; --poc-muted: #5d6b7e; --poc-line: #e4e8ee;
  display: flex; gap: 24px; align-items: center; background: #fff; border: 1px solid var(--poc-line); border-radius: 14px; padding: 20px 24px; color: var(--poc-ink); font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.poc-person { display: flex; flex-direction: column; align-items: center; text-align: center; flex: none; width: 170px; padding-right: 24px; border-right: 1px solid var(--poc-line); }
.poc-photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; box-shadow: 0 4px 14px rgba(0,0,0,.18); border: 3px solid #fff; }
.poc-initials { display: grid; place-items: center; background: #e6effa; color: var(--poc-brand); font-size: 32px; font-weight: 700; }
.poc-name { margin-top: 10px; font-weight: 600; font-size: 17px; line-height: 1.3; }
.poc-title { font-size: 12.5px; color: var(--poc-muted); line-height: 1.4; }
.poc-book { display: inline-block; margin-top: 12px; padding: 7px 18px; font-size: 14px; font-weight: 600; color: #fff; background: var(--poc-brand); border-radius: 10px; text-decoration: none; transition: background .15s, transform .15s; }
.poc-book:hover { background: #0852ad; transform: translateY(-1px); text-decoration: none; }
.poc-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 14px; min-width: 0; flex: 1; }
.poc-lines li { display: flex; gap: 12px; align-items: center; min-width: 0; }
.poc-lines a, .poc-lines span:not(.poc-ico) { color: var(--poc-ink); text-decoration: none; overflow-wrap: break-word; min-width: 0; }
.poc-lines a:hover { color: var(--poc-brand); }
.poc-ico { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--poc-brand); color: #fff; display: grid; place-items: center; font-size: 14px; }

@container (max-width: 470px) {
  .poc-card { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px; }
  .poc-person { width: auto; padding-right: 0; border-right: 0; padding-bottom: 16px; border-bottom: 1px solid var(--poc-line); }
}
