/* Le Vert teacher card uniform visual frame v3.3.0.
   All 100 images use identical portrait-shaped display boxes.
   Preserve original aspect ratios. No stretch, crop, or data modification.
   Scope intentionally restricted to teacher cards, NOT equipment/gacha. */

/* Student/admin collection tiles: normalize the external tile and image frame. */
.lvg-collection .lvg-card.lvg-teacher-card-full {
  box-sizing: border-box !important;
  aspect-ratio: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
}
.lvg-collection .lvg-card.lvg-teacher-card-full .lvg-teacher-collection-frame {
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  flex: 0 0 auto !important;
  display: block !important;
  overflow: hidden !important;
  background: #fff !important;
  border-radius: 9px !important;
}
.lvg-collection .lvg-card.lvg-teacher-card-full .lvg-teacher-collection-frame > img.lvg-teacher-collection-photo {
  box-sizing: border-box !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  background: #fff !important;
  border-radius: 0 !important;
}
.lvg-collection .lvg-card.lvg-teacher-card-full > button {
  position: static !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin-top: 0 !important;
}

/* The currently selected teacher at the side of MyPage also has one shape. */
.lvg-teacher-selected.has-photo {
  box-sizing: border-box !important;
  position: relative !important;
  width: 190px !important;
  min-width: 190px !important;
  max-width: 190px !important;
  height: 253.333px !important;
  min-height: 253.333px !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
  display: block !important;
  background: #fff !important;
  border-radius: 12px !important;
}
.lvg-teacher-selected.has-photo > img.lvg-teacher-photo.large {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
@media (max-width: 760px) {
  .lvg-teacher-selected.has-photo {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    height: 193.333px !important;
    min-height: 193.333px !important;
  }
}

/* Tools > 先生カード100枚確認. The existing admin CSS used height:auto
   for images, which can produce different row image heights from sources. */
body.wp-admin .lvtcp-page .lvtcp-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
body.wp-admin .lvtcp-page .lvtcp-grid .lvtcp-card {
  box-sizing: border-box !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
body.wp-admin .lvtcp-page .lvtcp-grid .lvtcp-card > a {
  box-sizing: border-box !important;
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
  border-radius: 5px !important;
  background: #fff !important;
}
body.wp-admin .lvtcp-page .lvtcp-grid .lvtcp-card > a > img {
  box-sizing: border-box !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* v3.3.0: 14 previously non-uniform source images are now 3:4 assets.
   No scale, zoom, crop or bespoke per-card CSS is necessary. */
