.detail-gallery { min-width: 0; }
.detail-gallery .detail-photo { width: 100%; }
.detail-gallery .detail-photo img { display: block; }
.gallery-frame { width: 100%; display: flex; justify-content: center; align-items: center; }
.detail-gallery[data-origin="ai"] .detail-photo { padding: 0; min-height: 0; max-height: none; aspect-ratio: 1; overflow: hidden; background: #f8f5f0; }
.detail-gallery[data-origin="ai"] .detail-photo img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; mix-blend-mode: normal; }
.detail-gallery .gallery-frame[data-gallery-crop="left"], .detail-gallery .gallery-frame[data-gallery-crop="right"] { display: block; position: relative; overflow: hidden; width: auto; height: 100%; max-width: 100%; aspect-ratio: var(--gallery-half-ratio); }
.detail-gallery[data-origin="ai"] .detail-photo .gallery-frame[data-gallery-crop="left"] img, .detail-gallery[data-origin="ai"] .detail-photo .gallery-frame[data-gallery-crop="right"] img { position: absolute; top: 0; width: 200%; height: 100%; max-width: none; max-height: none; object-fit: fill; }
.gallery-frame[data-gallery-crop="left"] img, .gallery-thumb-frame[data-gallery-crop="left"] img { left: 0; }
.gallery-frame[data-gallery-crop="right"] img, .gallery-thumb-frame[data-gallery-crop="right"] img { right: 0; }
.gallery-caption { margin-top: 12px; color: #4c5e50; font-size: 12px; line-height: 1.55; min-height: 19px; }
.gallery-thumbs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.gallery-thumb { position: relative; display: flex; justify-content: center; align-items: center; width: 78px; height: 70px; padding: 3px; border: 1px solid #d6dfd5; border-radius: 3px; background: #f6f7f1; cursor: pointer; overflow: hidden; }
.gallery-thumb:hover { border-color: #668b71; }
.gallery-thumb[aria-pressed="true"] { border: 2px solid #315c40; padding: 2px; }
.gallery-thumb-frame { display: block; position: relative; overflow: hidden; width: 100%; height: 100%; }
.gallery-thumb-frame img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gallery-thumb-frame[data-gallery-crop="left"], .gallery-thumb-frame[data-gallery-crop="right"] { width: auto; height: 100%; max-width: 100%; aspect-ratio: var(--gallery-half-ratio); }
.gallery-thumb-frame[data-gallery-crop="left"] img, .gallery-thumb-frame[data-gallery-crop="right"] img { position: absolute; top: 0; width: 200%; height: 100%; max-width: none; object-fit: fill; }
.gallery-note { margin: 12px 0 0; max-width: 490px; color: #56665a; font-size: 12px; line-height: 1.6; }
@media (max-width: 600px) { .gallery-thumb { width: 70px; height: 64px; } .gallery-thumbs { gap: 8px; margin-top: 12px; } .gallery-caption, .gallery-note { font-size: 12px; } }
@media print { .gallery-thumbs, .gallery-note { display: none; } }
