/* Base styling for the <image-slot> wrapper rendered by
   components/manual/_imageslot.jsx. The porter converts the design's
   <image-slot> elements to <TMImageSlot>, which renders a real <image-slot>
   wrapper around a plain <img>; unfilled slots degrade to a labelled box. */
image-slot {
  display: block;
  position: relative;
  overflow: hidden;
}
image-slot > img {
  display: block;
  width: 100%;
  height: 100%;
}
/* Unfilled slots (e.g. the home hero product shot) degrade to a labelled
   placeholder until a real asset is dropped into the design and re-synced. */
image-slot[data-empty] {
  background: #f3ece3;
  border: 1px dashed #d8cdbf;
  border-radius: 12px;
  min-height: 140px;
}
image-slot .tm-slot-ph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  text-align: center;
  color: #a3998e;
  font: 13px/1.5 "Roboto", system-ui, sans-serif;
}
