.airpods-photos { margin: 2.5rem 0; }
.airpods-photos-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.airpods-photos figure { margin: 0; }
.airpods-photo-link { display: block; border-radius: 12px; overflow: hidden; }
.airpods-photo-link img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: #eee; }
.airpods-photos figcaption { margin-top: .6rem; }
.airpods-photos-credit { font-size: .9rem; color: #b5b5b5; }
.airpods-photos a, .airpods-photo-dialog a { color: #dec990; }
.airpods-photos :focus-visible, .airpods-photo-dialog :focus-visible { outline: 3px solid #dec990; outline-offset: 4px; }
.airpods-photo-dialog { width: min(1000px, 94vw); max-height: 94dvh; box-sizing: border-box; overflow: auto; padding: 1rem; border: 1px solid #777; border-radius: 16px; color: #f5f3ed; background: #171719; }
.airpods-photo-dialog::backdrop { background: rgb(0 0 0 / .8); }
.airpods-photo-dialog img { display: block; width: 100%; height: 60dvh; object-fit: contain; background: #eee; }
.airpods-photo-controls { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; margin-bottom: 1rem; }
.airpods-photo-controls button { min-height: 44px; padding: .6rem 1rem; font: inherit; border: 1px solid #888; border-radius: 8px; color: #121212; background: #dec990; cursor: pointer; }
@media (max-width: 700px) { .airpods-photos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .airpods-photo-dialog img { height: 50dvh; } }
