/* Product photo styling: one rule set for every place a product image appears. */
img.ph { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; -webkit-user-drag: none; background: #EFEDE8; }

/* Shop cards: square photo, edge to edge */
.pcard-art { height: auto; aspect-ratio: 1 / 1; padding: 0; overflow: hidden; }
.pcard-art svg { padding: 22px; box-sizing: border-box; }
.pcard-art img.ph { transition: transform .8s var(--ease); }
.pcard:hover .pcard-art img.ph { transform: scale(1.05); }
.pcard-art .badge { z-index: 2; }

/* Quick view */
.qv-art { padding: 0; min-height: 0; }
.qv-art img.ph { width: 100%; height: auto; max-width: none; aspect-ratio: 1 / 1; }

/* Quiz results */
.q-thumb { padding: 0; overflow: hidden; }
.q-thumb img.ph { border-radius: 14px; }

/* The Lab: photos become floating tiles on the dark stage */
.lab-art img.ph { border-radius: 24px; pointer-events: none; box-shadow: 0 2px 0 rgba(255,255,255,.35) inset, 0 0 0 1px rgba(255,255,255,.14); }
.lab-art { filter: drop-shadow(0 26px 26px rgba(0,0,0,.45)); }
.lab-stage[data-tier="S"] .lab-art { filter: drop-shadow(0 24px 24px rgba(80,50,20,.3)); }
.lab-slot.full img.ph { width: 100%; height: 100%; border-radius: 14px; }
.lab-slot.full { padding: 0; }
.lab-fly img.ph { width: 100%; height: 100%; border-radius: 20px; box-shadow: 0 16px 28px rgba(0,0,0,.35); }

/* Scratch/showcase leftovers */
.scratch-art img.ph { width: min(100%, 360px); height: auto; border-radius: 22px; }
