.provider-photo-preview { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; }
.provider-photo-preview img { display: block; width: 80px; height: 60px; object-fit: cover; border-radius: 8px; border: 1px solid var(--border); }
.provider-photo-more { color: var(--ink-3); font-size: 12px; font-weight: 750; }
.provider-photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.provider-photo-gallery a { display: block; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); }
.provider-photo-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .15s ease; }
.provider-photo-gallery a:hover img { transform: scale(1.03); }
.profile-settings-page .settings-provider-photos { grid-column: 1 / -1; min-width: 0; }
.settings-photo-count { margin: 0 0 14px; color: var(--ink-3); font-size: 13px; line-height: 1.6; }
.settings-photo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.settings-photo-item { min-width: 0; }
.settings-photo-item > a { display: block; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; }
.settings-photo-item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.settings-photo-item form { margin: 8px 0 0; }
.settings-photo-upload { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.settings-photo-upload input { width: 100%; }
.settings-photo-upload .settings-photo-count { margin: 0; }
.settings-photo-selection { width: 100%; }
.settings-photo-selection[hidden] { display: none; }
.settings-photo-selection img { border: 1px solid var(--border); border-radius: 10px; }
.settings-photo-filename { margin: 7px 0; color: var(--ink-3); font-size: 12px; overflow-wrap: anywhere; }
.provider-photo-viewer { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; box-sizing: border-box; margin: 0; padding: 64px 24px 24px; border: 0; border-radius: 0; background: transparent; overflow: hidden; }
.provider-photo-viewer[open] { display: flex; align-items: center; justify-content: center; }
.provider-photo-viewer::backdrop { background: rgba(0, 0, 0, .85); }
.provider-photo-viewer img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 88px); object-fit: contain; border-radius: 10px; box-shadow: 0 8px 40px rgba(0, 0, 0, .35); }
.provider-photo-viewer p { display: none; }
.provider-photo-viewer-close { position: absolute; top: 16px; right: 20px; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .18); color: #fff; font: 28px/1 system-ui, sans-serif; cursor: pointer; }
.provider-photo-viewer-close:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 640px) {
  .provider-photo-preview img { width: 64px; height: 48px; }
  .provider-photo-gallery, .settings-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-photo-upload .ii-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .provider-photo-gallery img { transition: none; }
}
