/* Support CSS for P-G1 hunks H1/H2/H3/H5. New file, no live counterpart.
 * Red on base: none of these selectors exist in F/S (marker greps = 0). */
.sunshine--multi-image-select--source--list[data-ml-picker-masonry] {
  display: block; position: relative;
}
.sunshine--multi-image-select--source--list[data-ml-picker-masonry] >
  figure.sunshine--multi-image-select--image {
  position: absolute; box-sizing: border-box; margin: 0;
}
.ml-pv-btn {
  position: absolute; top: 4px; right: 4px; min-width: 44px; min-height: 44px;
  font-size: 20px; line-height: 1; cursor: pointer;
}
.ml-pv-viewer img { width: 100%; height: auto; display: block; }
.ml-pv-back { min-height: 44px; margin-bottom: 8px; }
.ml-aspect-warn, .ml-size-line { font-size: 14px; margin: 8px 0; }
.ml-size-shape {
  display: inline-block; width: 28px; border: 2px solid currentColor;
  vertical-align: middle;
}

/* H0b support CSS (new file, ships with H0): E26 crop schematic for H5 v2.
 * Red on v1: no .ml-crop-viz selector anywhere (marker grep = 0). */
.ml-crop-viz {
  display: inline-block; vertical-align: middle; margin-left: 8px;
}
.ml-crop-frame {
  position: relative; display: inline-block; width: 44px;
  overflow: hidden; border: 2px dashed currentColor; box-sizing: border-box;
}
.ml-crop-photo {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  min-width: 100%; min-height: 100%; background: currentColor; opacity: .35;
}

/* E12: selected state = check badge (>=24px) + dim, not only a thin border.
 * Specificity (0,1,1) stays below the masonry absolute rule (0,2,2), so the
 * masonry layout is untouched; this only adds a positioning context + badge. */
figure.sunshine--multi-image-select--image{position:relative;}
figure.sunshine--multi-image-select--image.ml-picked > label img{filter:brightness(.72);}
figure.sunshine--multi-image-select--image.ml-picked::after{content:"\2713";position:absolute;top:6px;left:6px;min-width:28px;height:28px;padding:0 4px;border-radius:999px;background:#1a73e8;color:#fff;font-size:18px;line-height:28px;text-align:center;pointer-events:none;}

/* E02: picker sheet is full-height on phones (title itself: packet B R12).
 * One-X verified in code (neither picker template renders its own X), so no
 * X hunk. min-height clamps core/warm height regardless of enqueue order. */
@media (max-width:480px){
  #sunshine--modal--content:has(.sunshine--multi-image-select){min-height:calc(100dvh - 32px);max-height:calc(100dvh - 8px);}
  body.ml-warm-editorial-store #sunshine--modal.sunshine--modal--store_product{width:calc(100% - 16px);border-radius:12px;}
  body.ml-warm-editorial-store #sunshine--modal.sunshine--modal--store_product #sunshine--modal--content{min-height:calc(100dvh - 32px);}
}
