.media-gallery { width: min(100%, 300px); flex: 0 0 min(100%, 300px); }
.gallery-main { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.gallery-main img { display: block; width: 100%; height: auto; max-height: 390px; object-fit: contain; border-radius: 12px; }
.gallery-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 10px 0; font-size: 0.9rem; }
.gallery-nav button { border: 1px solid #eaded3; border-radius: 10px; background: white; min-width: 40px; min-height: 40px; font-size: 1.5rem; cursor: pointer; }
.gallery-nav button:hover, .gallery-nav button:focus-visible { background: #fff3e9; }
.gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 3px 1px 8px; }
.gallery-thumbs button { padding: 2px; border: 2px solid transparent; border-radius: 8px; background: none; flex: 0 0 56px; cursor: pointer; }
.gallery-thumbs button[aria-current="true"] { border-color: #df792e; }
.gallery-thumbs img { width: 48px; height: 64px; object-fit: cover; border-radius: 5px; }
.gallery-dialog { border: 0; padding: 54px 24px 24px; max-width: min(96vw, 1100px); max-height: 96vh; border-radius: 16px; background: #201d1c; color: white; }
.gallery-dialog::backdrop { background: rgba(0, 0, 0, .85); }
.gallery-dialog img { display: block; max-width: 100%; max-height: calc(96vh - 115px); margin: auto; object-fit: contain; }
.gallery-dialog .gallery-nav { justify-content: center; }
.gallery-dialog .gallery-nav button { background: #34302e; color: white; border-color: #5a5450; }
.gallery-dialog-close { position: absolute; right: 15px; top: 8px; color: white; background: none; border: 0; font-size: 2rem; cursor: pointer; }
