html.preadored-pic-open { overflow: hidden; }
dialog.preadored-pic {
    box-sizing: border-box;
    width: min(760px, calc(100vw - 32px));
    max-width: 760px;
    max-height: 88vh;
    max-height: 88dvh;
    padding: 24px;
    margin: auto;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #d8d0c3;
    border-radius: 10px;
    background: #fffdf8;
    color: #28241f;
    box-shadow: 0 16px 64px #0004;
    font: 16px/1.5 system-ui, sans-serif;
    text-align: left;
}
dialog.preadored-pic::backdrop { background: rgb(0 0 0 / 55%); }
.preadored-pic .preadored-pic__header { display: flex; align-items: flex-start; gap: 16px; }
.preadored-pic .preadored-pic__title { flex: 1; margin: 0; color: inherit; font: 600 24px/1.25 Georgia, serif; text-transform: none; letter-spacing: normal; }
.preadored-pic .preadored-pic__close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; padding: 0; margin: -8px -8px 0 0; background: transparent; border: 0; border-radius: 4px; color: inherit; font: 30px/1 system-ui, sans-serif; cursor: pointer; box-shadow: none; }
.preadored-pic .preadored-pic__help { margin: 8px 0; font: inherit; }
.preadored-pic .preadored-pic__product { margin: 0 0 20px; color: #655e54; font: 14px/1.5 system-ui, sans-serif; }
.preadored-pic .preadored-pic__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.preadored-pic .preadored-pic__photo { display: block; min-width: 0; overflow: hidden; border: 1px solid #d8d0c3; border-radius: 6px; background: white; color: #28241f; text-decoration: none; }
.preadored-pic .preadored-pic__photo:hover { border-color: #7a6030; background: #f7f2e7; }
.preadored-pic .preadored-pic__photo:focus-visible, .preadored-pic .preadored-pic__close:focus-visible { outline: 3px solid #725323; outline-offset: 3px; }
.preadored-pic .preadored-pic__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: white; border: 0; margin: 0; }
.preadored-pic .preadored-pic__caption { display: block; padding: 9px; text-align: center; font: 14px/1.4 system-ui, sans-serif; }
@media (max-width: 540px) {
    dialog.preadored-pic { padding: 18px; width: calc(100vw - 20px); }
    .preadored-pic .preadored-pic__title { font-size: 21px; }
    .preadored-pic .preadored-pic__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
