/* LBPS Specimen Presentation Contract v0.1.0
   These selectors only touch known LBPS specimen renderers and opted-in tiles.
   No layout or calibration rule is applied to True Size. */
.lbps-stp-tile {
  --lbps-stp-bg: #151515;
  --lbps-stp-ink: #FFFFFF;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  inline-size: 100%;
  aspect-ratio: 2 / 1;
  min-inline-size: 0;
  overflow: hidden;
  border-radius: 12px;
  background-color: var(--lbps-stp-bg);
}
.lbps-stp-tile[data-lbps-stp-theme="mid-grey"] { --lbps-stp-bg: #777777; --lbps-stp-ink: #FFFFFF; }
.lbps-stp-tile[data-lbps-stp-theme="light-grey"] { --lbps-stp-bg: #D4D4D4; --lbps-stp-ink: #242424; }
.lbps-stp-tile > img,
.lbps-stp-tile > picture,
.lbps-stp-tile > picture > img {
  display: block;
  object-fit: contain;
  object-position: center;
  max-inline-size: 100%;
  max-block-size: 100%;
  inline-size: 100%;
  block-size: 100%;
  background: transparent;
}
.lbps-stp-tile:focus-visible { outline: 3px solid #146C63; outline-offset: 3px; }
@media (max-width: 600px) { .lbps-stp-tile { border-radius: 9px; } }

/* Exact existing Calibrated Specimen Viewer integration. Its own px/mm,
   bar width, physical True Size screen CSS and click interactions are untouched. */
.lbps-csv[data-lbps-stp-theme] { --lbps-stp-bg: #151515; --lbps-stp-ink: #FFFFFF; }
.lbps-csv[data-lbps-stp-theme="mid-grey"] { --lbps-stp-bg: #777777; --lbps-stp-ink: #FFFFFF; }
.lbps-csv[data-lbps-stp-theme="light-grey"] { --lbps-stp-bg: #D4D4D4; --lbps-stp-ink: #242424; }
.lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="normal"],
.lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"],
.lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-image-frame,
.lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-scale-band {
  background-color: var(--lbps-stp-bg) !important;
}
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="normal"],
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"],
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-image-frame,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-scale-band { background-color: var(--lbps-stp-bg) !important; }
.lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-scale,
.lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-scale-band,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-scale,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-stage[data-mode="scale"] .lbps-csv-scale-band {
  color: var(--lbps-stp-ink) !important;
}
.lbps-csv[data-lbps-stp-theme="light-grey"] .lbps-csv-scale,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme="light-grey"] .lbps-csv-scale {
  text-shadow: 0 1px 1px rgba(255,255,255,.25) !important;
}
.lbps-csv[data-lbps-stp-theme="mid-grey"] .lbps-csv-scale,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme="mid-grey"] .lbps-csv-scale {
  text-shadow: 0 1px 2px #111, 1px 0 1px #111 !important;
}
.lbps-csv[data-lbps-stp-theme] .lbps-csv-scale-line,
.lbps-csv[data-lbps-stp-theme] .lbps-csv-scale-line i,
.lbps-csv[data-lbps-stp-theme] .lbps-csv-scale-line b,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-scale-line,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-scale-line i,
body.lbps-cvux-route .lbps-csv[data-lbps-stp-theme] .lbps-csv-scale-line b {
  color: var(--lbps-stp-ink) !important;
  background-color: currentColor !important;
}
/* Existing scientific viewer's additional-image cards are 4:3; normalise
   only their presentation well, NOT the full-size/True Size modes. */
.lbps-csv .lbps-csv-additional-card {
  aspect-ratio: 2 / 1;
  background: var(--lbps-stp-bg, #151515);
}
.lbps-csv .lbps-csv-additional-image {
  aspect-ratio: 2 / 1;
  object-fit: contain;
  object-position: center;
  background: var(--lbps-stp-bg, #151515);
}
/* An explicit opted-in scientific tile can be embedded inside the old
   species/PFD card renderer without touching unrelated media/featured images. */
.lbps-species-image > .lbps-stp-tile { inline-size: 100%; }
