/* ── LUP Team Grid — scoped to .lup-tg-grid to beat theme overrides ── */

.lup-tg-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
  width: 100% !important;
  font-family: 'DM Sans', sans-serif !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.lup-tg-grid[data-cols="1"] { grid-template-columns: repeat(1, 1fr) !important; }
.lup-tg-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr) !important; }
.lup-tg-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr) !important; }
.lup-tg-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr) !important; }

/* ── Card ── */
.lup-tg-grid .lup-tg-card {
  position: relative !important;
  width: 100% !important;
  padding-top: 100% !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  cursor: default !important;
  transform: none !important;
  transition: none !important;
}

.lup-tg-grid .lup-tg-card:hover {
  transform: none !important;
}

.lup-tg-grid .lup-tg-inner {
  position: absolute !important;
  inset: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* ── Photo ── */
.lup-tg-grid .lup-tg-photo {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-color: #e8e8e8 !important;
}

.lup-tg-grid .lup-tg-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 48px !important;
  color: #aaa !important;
}

/* ── Overlay ── */
.lup-tg-grid .lup-tg-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 28px 24px !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
  pointer-events: none !important;
}

.lup-tg-grid .lup-tg-card:hover .lup-tg-overlay {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* ── Overlay content ── */
.lup-tg-grid .lup-tg-overlay-content {
  text-align: center !important;
  width: 100% !important;
}

/* Job title */
.lup-tg-grid .lup-tg-overlay-content .lup-tg-ov-title {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  color: #8cb83f !important;
  margin: 0 0 6px !important;
  line-height: 1.5 !important;
  display: block !important;
}

/* Name */
.lup-tg-grid .lup-tg-overlay-content .lup-tg-ov-name {
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #222 !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  display: block !important;
}

/* Bio list */
.lup-tg-grid .lup-tg-overlay-content .lup-tg-ov-bio {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.lup-tg-grid .lup-tg-overlay-content .lup-tg-ov-bio li {
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #555 !important;
  line-height: 1.6 !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-variant-caps: normal !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Divider */
.lup-tg-grid .lup-tg-overlay-content .lup-tg-ov-name + .lup-tg-ov-bio::before {
  content: '' !important;
  display: block !important;
  width: 28px !important;
  height: 2px !important;
  background: #8cb83f !important;
  margin: 0 auto 12px !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .lup-tg-grid[data-cols="3"],
  .lup-tg-grid[data-cols="4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .lup-tg-grid,
  .lup-tg-grid[data-cols="2"],
  .lup-tg-grid[data-cols="3"],
  .lup-tg-grid[data-cols="4"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .lup-tg-grid .lup-tg-overlay {
    padding: 24px 20px !important;
  }

  /* Hide bio on mobile */
  .lup-tg-grid .lup-tg-ov-bio {
    display: none !important;
  }
}
