/* Grid: desktop N cols → tablet 2 → phone 1 */
.plteam-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.plteam-grid.plteam-cols-1 { grid-template-columns: 1fr; }
.plteam-grid.plteam-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plteam-grid.plteam-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.plteam-grid.plteam-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.plteam-grid.plteam-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.plteam-grid.plteam-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

@media (max-width: 980px) { .plteam-grid { grid-template-columns: repeat(2, minmax(0, 1fr))!important; } }
@media (max-width: 600px) { .plteam-grid { grid-template-columns: 1fr!important; } }

.plteam-card { text-align: center; }
.plteam-photo-wrap { aspect-ratio: 1/0.95; overflow: hidden; border-radius: 0px; }
.plteam-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.plteam-photo.placeholder { background: #eee; }

.plteam-name { margin: .75rem 0 .25rem; font-size: 16px; padding:0; font-weight:500; color:#a6c23f; }
.plteam-position { font-size: 16px;  }

.plteam-bio-btn {
  margin-top: .35rem;
  background: transparent;
  border: 2px solid currentColor;
  padding: .4rem .75rem;
  border-radius: 999px;
  cursor: pointer;
}

/* Portal is just a container, no special styles required */
#plteam-portal { /* intentionally blank */ }

/* Prevent background scroll while open */
.plteam-modal-open,
.plteam-modal-open body { overflow: hidden; }

/* Modal, very high z-index to beat theme elements */
.plteam-modal[aria-hidden="true"] { display: none; }
.plteam-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483647; /* max practical */
  display: flex;
  align-items: center;
  justify-content: center;
}
.plteam-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}

/* Dialog */
.plteam-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(820px, 92vw);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  color: #000!important;
  border-radius: 0px;
  padding: 1.25rem 1.25rem 1rem;
  box-shadow: 0 10px 40px rgba(0,0,0,.4);
  outline: none;
}

/* Close button stays above everything */
.plteam-modal__close {
  position: absolute;
  top: 10px; right: 12px;
  font-size: 1.8rem; line-height: 1;
  background: transparent; border: 0; cursor: pointer;
  z-index: 2;
}

/* Clickable card affordance */
.plteam-card--clickable { cursor: pointer; }
.plteam-card--clickable:focus { outline: 3px solid #333; outline-offset: 4px; }
.plteam-photo-wrap { transition: transform .18s ease; }
.plteam-card--clickable:hover .plteam-photo-wrap { transform: translateY(-2px); }

.plteam-modal__title { margin: 0 0 .25rem;color:#a6c23f;padding:0; }
.plteam-modal__position { margin: 0 0 .5rem; font-size:16px; }
.plteam-modal__content {font-size:16px!important}
.plteam-modal__content p { margin: 0 0 .75rem; font-size:16px!important}