.scrub-card { padding: 1rem; border: 1px solid var(--line); border-radius: 8px; background: var(--sand); }
.scrub-card__photo { display: block; border-radius: 5px; overflow: hidden; margin-bottom: 1rem; background: var(--cream); }
.scrub-card__photo img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.scrub-card h3 a { color: inherit; text-decoration: none; }
.scrub-card .gift-card__price { margin-bottom: .6rem; }
.scrub-dialog {
  width: min(65rem, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem);
  padding: 0; border: 2px solid var(--espresso); border-radius: 10px;
  background: var(--cream); color: var(--espresso); overscroll-behavior: contain;
}
.scrub-dialog::backdrop { background: rgb(30 15 8 / 65%); }
html:has(.scrub-dialog[open]) { overflow: hidden; }
.scrub-dialog__bar { display: flex; justify-content: flex-end; padding: .75rem; border-bottom: 1px solid var(--line); }
.scrub-details { padding: clamp(1rem, 3vw, 2rem); }
.scrub-hero, .scrub-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.5rem); }
.scrub-hero h1, .scrub-hero h2 { font-size: clamp(2rem, 5vw, 3.4rem); }
.scrub-photo { margin: 0; }
.scrub-photo img { width: 100%; border: 1px solid var(--line); border-radius: 6px; }
.scrub-photo figcaption { font-size: .8rem; line-height: 1.4; margin-top: .5rem; }
.scrub-story { border-block: 1px dashed var(--line); margin-block: 1.5rem; padding-bottom: .5rem; }
.scrub-facts { margin-bottom: 1.5rem; }
.scrub-facts h3 { margin-top: 0; }
.scrub-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.scrub-gallery a { align-self: start; }
.scrub-gallery img { width: 100%; border-radius: 6px; border: 1px solid var(--line); }
.scrub-details [hidden] { display: none; }
.scrub-details input { width: min(100%, 12rem); }
@media (max-width: 48rem) {
  .scrub-hero, .scrub-facts { grid-template-columns: minmax(0, 1fr); }
  .scrub-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
  .scrub-gallery { grid-template-columns: minmax(0, 1fr); }
}
