/* Shared photo and video viewer controls. */
.enhanced-viewer .gallery-grid {
  gap: 12px;
}

.enhanced-viewer .gallery-item,
.enhanced-viewer .video-card {
  border-radius: 4px;
}

@media (min-width: 768px) {
  .enhanced-viewer .gallery-item:hover .card-overlay,
  .enhanced-viewer .gallery-item:focus-within .card-overlay {
    opacity: 1;
    translate: 0 0;
    transform: none;
  }

  .enhanced-viewer .gallery-item:hover .photo-desc,
  .enhanced-viewer .gallery-item:focus-within .photo-desc {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
}

.enhanced-viewer #lightbox {
  background: rgba(0, 0, 0, .94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overflow: hidden;
}

.enhanced-viewer #lightbox-img {
  max-width: calc(100vw - 160px);
  max-height: calc(100dvh - 156px);
  border-radius: 4px;
  cursor: zoom-in;
}

.enhanced-viewer #lightbox.is-zoomed #lightbox-img {
  cursor: grab;
}

.enhanced-viewer #lightbox.is-zoomed #lightbox-img:active {
  cursor: grabbing;
}

.enhanced-viewer #lightbox.is-zoomed .zoom-plus {
  display: none;
}

.enhanced-viewer #lightbox > button {
  background: #181818;
  border-color: #656565;
  color: #fff;
}

.enhanced-viewer #lightbox > button:hover {
  background: #383838;
}

.enhanced-viewer #lightbox .lightbox__close {
  border: 0;
}

.enhanced-viewer #lightbox-toolbar {
  padding: 6px 12px;
  gap: 8px;
  background: #141414;
  border-color: #555;
}

.enhanced-viewer #lightbox-toolbar button {
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 6px;
}

.enhanced-viewer #lightbox-toolbar button:hover {
  background: #333;
}

.enhanced-viewer #lightbox-toolbar button svg {
  width: 20px;
  height: 20px;
}

.enhanced-viewer #lightbox-counter {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  padding-inline: 8px;
}

.enhanced-viewer #lightbox-desc-wrapper {
  position: static;
}

.enhanced-viewer #lightbox-desc-tooltip {
  left: 50%;
  bottom: calc(100% + 12px);
  width: min(360px, calc(100vw - 32px));
  max-width: none;
  max-height: min(60dvh, 520px);
  overflow-y: auto;
  margin-bottom: 0;
  translate: -50% 0;
  transform: none;
  background: #181818;
  border-color: #555;
  border-radius: 8px;
  padding: 20px;
}

.enhanced-viewer #lightbox-desc-text {
  font-size: 14px;
  line-height: 1.6;
}

/* Bridge the gap between the info button and its hover panel. */
.enhanced-viewer #lightbox-desc-wrapper::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 12px;
}

@media (max-width: 767px) {
  .enhanced-viewer #lightbox-img {
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 156px);
  }

  .enhanced-viewer #lightbox-toolbar {
    gap: 4px;
    padding-inline: 6px;
    bottom: max(16px, env(safe-area-inset-bottom));
  }

  .enhanced-viewer #lightbox > button[aria-label="Previous image"],
  .enhanced-viewer #lightbox > button[aria-label="Next image"] {
    top: auto;
    bottom: 92px;
    translate: 0 0;
    transform: none;
  }
}

@media (min-width: 768px) {
  .enhanced-viewer #lightbox-desc-wrapper:hover #lightbox-desc-tooltip,
  .enhanced-viewer #lightbox-desc-wrapper:focus-within #lightbox-desc-tooltip {
    opacity: 1;
    pointer-events: auto;
  }

  /* Keep the hover area connected while moving into the description. */
  .enhanced-viewer #lightbox-desc-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 1rem;
  }
}

.enhanced-viewer #video-lightbox {
  background: rgba(0, 0, 0, .94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.enhanced-viewer #video-lightbox .video-lightbox__close {
  background: #181818;
  border: 0;
}

.enhanced-viewer #video-lightbox .video-lightbox__close:hover {
  background: #383838;
}

.enhanced-viewer #video-like-btn {
  min-height: 44px;
  padding-inline: 16px;
}

.enhanced-viewer #video-like-btn svg {
  width: 20px;
  height: 20px;
}

/* Saved capture information is displayed only when the photo supplies it. */
.photo-capture-details{margin-top:18px;padding-top:16px;border-top:1px solid #555;text-align:left}
.photo-capture-details h3{font-size:13px;font-weight:600;color:#fff;margin:0 0 12px}
.photo-capture-details dl{display:grid;gap:9px;margin:0}
.photo-capture-details dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:baseline}
.photo-capture-details dt{font-size:12px;color:#b9b9b9}
.photo-capture-details dd{font-size:12px;color:#f5f5f5;margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* Size the floating controls to their contents instead of half the viewport. */
.enhanced-viewer #lightbox-toolbar{width:max-content;max-width:calc(100vw - 24px);box-sizing:border-box}
.enhanced-viewer #lightbox-toolbar>*,.enhanced-viewer #lightbox-toolbar button{flex-shrink:0}
@media(max-width:767px){
 .enhanced-viewer #lightbox-toolbar{gap:4px;padding:6px;max-width:calc(100vw - 24px)}
 .enhanced-viewer #lightbox-counter{padding-inline:4px;font-size:13px}
 .enhanced-viewer #lightbox-desc-tooltip{width:min(360px,calc(100vw - 32px));box-sizing:border-box;max-height:min(60dvh,calc(100dvh - 144px));padding:16px}
 .photo-capture-details dl>div{grid-template-columns:88px minmax(0,1fr);gap:10px}
}

/* Photo viewer: separate the image stage, action bar, details, and navigation. */
.enhanced-viewer #lightbox{position:fixed;z-index:10000;isolation:isolate;inset:0;padding:0;background:#090909;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f0f0f0;overflow:hidden}
.enhanced-viewer #lightbox:not(.hidden){display:block}.enhanced-viewer #lightbox[hidden]{display:none!important}
.viewer-header{position:absolute;inset:0 0 auto;min-height:80px;padding:18px 28px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #292929;background:#101010;z-index:3;box-sizing:border-box}
/* Match the site header's max-w-7xl container and px-10 desktop gutters. */
@media(min-width:768px){.viewer-header{padding-inline:max(40px,calc((100% - 1280px)/2 + 40px))}}
.viewer-photo-heading{min-width:0;flex:1}.viewer-photo-heading h2{font-size:16px;font-weight:500;line-height:1.4;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.viewer-photo-heading p{font-size:12px;color:#aaa;line-height:1.5;margin:4px 0 0}.viewer-photo-heading p:empty{display:none}
.enhanced-viewer #lightbox-toolbar{position:static;inset:auto;translate:none;transform:none;display:flex;gap:8px;width:auto;max-width:none;padding:0;background:none;backdrop-filter:none;border:0;border-radius:0;box-shadow:none}
.enhanced-viewer #lightbox .viewer-actions button,.enhanced-viewer #lightbox .lightbox__close{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 12px;border:1px solid #3b3b3b;border-radius:5px;background:#191919;color:#eee;font-size:13px;font-weight:500;cursor:pointer;box-sizing:border-box}
.enhanced-viewer #lightbox .viewer-actions button:hover,.enhanced-viewer #lightbox .lightbox__close:hover{background:#303030}
.enhanced-viewer #lightbox .lightbox__close{position:static;flex-shrink:0;margin-left:8px;padding:10px;background:transparent;border-color:transparent}
.enhanced-viewer #lightbox #lightbox-desc-divider{display:none!important}
.enhanced-viewer #lightbox-desc-wrapper{position:static;display:block}
.enhanced-viewer #lightbox #lightbox-desc-tooltip{position:fixed;inset:100px 24px 88px auto;translate:none;transform:none;width:320px;max-width:none;max-height:none;margin:0;padding:22px;border:1px solid #383838;border-radius:8px;background:#161616;backdrop-filter:none;box-shadow:none;opacity:1;pointer-events:auto;overflow-y:auto;box-sizing:border-box;text-align:left;transition:none}
.enhanced-viewer #lightbox #lightbox-desc-tooltip[hidden]{display:none!important}
.enhanced-viewer #lightbox-desc-wrapper::after,.enhanced-viewer #lightbox-desc-tooltip::after{display:none}
.viewer-details-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.viewer-details-heading h3{font-size:16px;font-weight:500;margin:0}.enhanced-viewer #lightbox .viewer-details-heading button{min-width:36px;min-height:36px;padding:7px;border:0;background:transparent}
.enhanced-viewer #lightbox-desc-text{font-size:14px;line-height:1.65;text-align:left}.enhanced-viewer #lightbox-desc-text>div:first-child{gap:6px}
.enhanced-viewer #lightbox-info-btn[aria-expanded=true]{background:#efefef;color:#151515;border-color:#efefef}
.viewer-stage{position:absolute;inset:100px 24px 90px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.enhanced-viewer #lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none;touch-action:none}
.viewer-details-open .viewer-stage{right:368px}
.enhanced-viewer #lightbox-loader{position:absolute;inset:0;align-items:center;justify-content:center;pointer-events:none}
.viewer-bottom{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:min(420px,calc(100vw - 32px));padding:6px;background:#141414;border:1px solid #333;border-radius:6px;box-sizing:border-box}
.viewer-bottom button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 12px;color:#eee;background:transparent;border:0;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer}.viewer-bottom button:hover{background:#303030}
.enhanced-viewer #lightbox-counter{padding:0 8px;margin:0;font-size:13px;font-weight:500;white-space:nowrap;color:#bbb;font-variant-numeric:tabular-nums}
.enhanced-viewer #lightbox button:focus-visible{outline:2px solid #ddd;outline-offset:3px}
@media(max-width:767px){
 .viewer-header{min-height:122px;padding:16px;display:block}.viewer-photo-heading{padding-right:52px}.viewer-photo-heading h2{font-size:14px}.viewer-photo-heading p{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .enhanced-viewer #lightbox .lightbox__close{position:absolute;top:12px;right:12px;margin:0}
 .enhanced-viewer #lightbox-toolbar{margin-top:12px;display:flex;justify-content:flex-start;gap:8px}
 .enhanced-viewer #lightbox .viewer-actions button{min-height:44px;font-size:12px;padding:9px 12px}.enhanced-viewer #lightbox .viewer-actions button svg{width:18px;height:18px}
 .viewer-stage,.viewer-details-open .viewer-stage{inset:144px 12px 92px}
 .enhanced-viewer #lightbox #lightbox-desc-tooltip{inset:auto 12px 92px;width:auto;max-height:calc(100dvh - 250px);padding:20px;border-radius:10px;box-shadow:0 -12px 40px rgba(0,0,0,.35)}
 .viewer-bottom{gap:6px;bottom:max(16px,env(safe-area-inset-bottom))}.viewer-bottom button{font-size:12px;padding:8px}.viewer-bottom svg{width:18px;height:18px}
 .viewer-details-heading{margin-bottom:16px}
}
/* Keep the action bar in normal layout flow on narrow screens. */
@media(max-width:767px){
 .enhanced-viewer #lightbox:not(.hidden){display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;height:100dvh}
 .viewer-header{position:relative;inset:auto;z-index:auto}
 .viewer-stage,.viewer-details-open .viewer-stage{position:relative;inset:auto;min-height:0;margin:0 12px}
 .viewer-bottom{position:relative;inset:auto;left:auto;bottom:auto;translate:none;justify-self:center;margin:0 0 max(16px,env(safe-area-inset-bottom))}
 .enhanced-viewer #lightbox #lightbox-desc-tooltip{z-index:5}
}

.viewer-stage{transform-origin:left center}
.enhanced-viewer #lightbox button{transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease}
.enhanced-viewer #lightbox button:active{background:#393939}
@media(prefers-reduced-motion:reduce){
 .enhanced-viewer #lightbox button{transition:none}
}

.photo-location{margin-top:24px;padding-top:20px;border-top:1px solid #333}
.photo-location h3{margin:0 0 10px;font-size:13px;font-weight:600}
.photo-location p{margin:0 0 4px;font-size:14px;line-height:1.5}
.photo-location .photo-location-landmark{font-weight:600;overflow-wrap:anywhere}
.photo-location small{display:block;color:#bbb;font-size:11px;line-height:1.5;margin-bottom:14px}
.photo-location-map{display:block;width:100%;height:210px;border-radius:4px;background:#242424;overflow:hidden}
.photo-location a{display:inline-block;color:#ddd;font-size:12px;margin-top:12px;text-decoration:underline;text-underline-offset:3px}

/* Collection browsing and optional photo tools share a compact footer. */
.viewer-footer{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;flex-direction:column;align-items:center;gap:8px}
.viewer-footer .viewer-bottom{position:static;inset:auto;translate:none;margin:0;flex-shrink:0}
.enhanced-viewer #lightbox .viewer-stage{bottom:225px}
.enhanced-viewer #lightbox #lightbox-desc-tooltip{bottom:225px}
.viewer-tools{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;flex-wrap:wrap}
.viewer-tools button,.viewer-tools select,.viewer-image-error button{min-height:44px;padding:8px 12px;border:1px solid #444;border-radius:5px;background:#1a1a1a;color:#eee;font-size:12px;cursor:pointer}
.viewer-tools button:disabled{opacity:.45;cursor:default}.viewer-tools [hidden],.viewer-image-error[hidden]{display:none!important}
.viewer-tools select{color-scheme:dark}.viewer-tools [aria-pressed=true]{background:#eee;color:#111}
/* Keep the thumbnail filmstrip hidden until it is needed again. */
.viewer-thumbnails{display:none;gap:7px;max-width:min(900px,100%);height:52px;overflow-x:auto;overflow-y:hidden;padding:3px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#555 #141414}
.viewer-thumb{width:64px;min-width:64px;height:44px;border:2px solid transparent;background:#222;border-radius:3px;overflow:hidden;padding:0;cursor:pointer;opacity:.6}
.viewer-thumb[aria-current=true]{border-color:#fff;opacity:1}.viewer-thumb:hover{opacity:1}.viewer-thumb img{width:100%;height:100%;object-fit:cover}
.viewer-hint,.viewer-status{font-size:11px;color:#bbb;line-height:1.4;margin:0;text-align:center}.viewer-status:empty{display:none}.viewer-mobile-hint{display:none}
.viewer-related{margin-top:24px;padding-top:20px;border-top:1px solid #333}.viewer-related h3{font-size:13px;margin:0 0 12px}.viewer-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.viewer-related-photo{min-width:0;display:flex;flex-direction:column;gap:5px;background:none;border:0;color:#ddd;padding:0;text-align:left;cursor:pointer;font-size:10px;line-height:1.4}.viewer-related-photo img{width:100%;height:56px;object-fit:cover;border-radius:3px}.viewer-related-photo span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.viewer-image-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#101010;color:#ddd;font-size:14px}.viewer-image-error p{margin:0}
.viewer-share-link{width:min(360px,100%);min-height:44px;background:#222;border:1px solid #555;color:#eee;padding:8px}
.viewer-link-notice{padding:20px;margin:100px 20px 20px;background:#222;color:#eee}
@media(max-width:767px){
 .viewer-footer{position:relative;inset:auto;min-width:0;width:100%;padding:0 12px max(12px,env(safe-area-inset-bottom));box-sizing:border-box;gap:7px}
 .enhanced-viewer #lightbox .viewer-stage{inset:auto;bottom:auto}
 .viewer-tools{gap:5px;flex-wrap:nowrap;width:100%}.viewer-tools button,.viewer-tools select{padding:7px 8px;font-size:11px;min-width:0}
 .viewer-thumbnails{width:100%;max-width:100%}.viewer-footer .viewer-bottom{width:100%}
 .viewer-desktop-hint{display:none}.viewer-mobile-hint{display:inline}.viewer-hint{font-size:10px}
 .enhanced-viewer #lightbox #lightbox-desc-tooltip{bottom:235px;max-height:calc(100dvh - 390px)}
 .viewer-tools .viewer-share-link{position:absolute;bottom:100%;left:12px;right:12px;box-sizing:border-box}
}
@media(max-height:600px){.viewer-thumbnails{height:40px}.viewer-thumb{height:32px}.viewer-footer{gap:4px}.viewer-hint{display:none}}
@media(max-width:767px){.enhanced-viewer #lightbox #lightbox-desc-tooltip{max-height:max(120px,calc(100dvh - 390px))}}
@media(max-width:767px) and (max-height:600px){
 .viewer-header{min-height:100px;padding:10px}.enhanced-viewer #lightbox-toolbar{margin-top:6px}
 .enhanced-viewer #lightbox:not(.hidden){gap:6px}.viewer-footer{padding-bottom:6px;gap:3px}
 .enhanced-viewer #lightbox #lightbox-desc-tooltip{inset:8px 12px 175px;max-height:none}
}
@media(min-width:768px){
 .enhanced-viewer #lightbox .viewer-stage,.enhanced-viewer #lightbox #lightbox-desc-tooltip{bottom:245px}
}

/* Secondary photo actions live beside the main controls, outside the filmstrip. */
.viewer-tools-menu{position:relative;flex-shrink:0;z-index:8}
.viewer-tools-menu .viewer-tools{position:absolute;top:calc(100% + 10px);right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(300px,calc(100vw - 32px));max-width:none;padding:12px;box-sizing:border-box;border:1px solid #444;border-radius:8px;background:#161616}
.viewer-tools-menu .viewer-tools[hidden]{display:none!important}
.enhanced-viewer #lightbox .viewer-tools button,.viewer-tools-menu .viewer-tools select{width:100%;font-size:13px;min-height:44px;padding:10px}
.viewer-tools-menu .viewer-tools .viewer-share-link{position:static;grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box}
.viewer-tools-menu .viewer-tools select:focus-visible{outline:2px solid #ddd;outline-offset:3px}
/* Reclaim the former filmstrip space while keeping the navigation clear. */
@media(min-width:768px){
 .enhanced-viewer #lightbox .viewer-stage,.enhanced-viewer #lightbox #lightbox-desc-tooltip{bottom:100px}
 .enhanced-viewer #lightbox:has(.viewer-status:not(:empty)) .viewer-stage,
 .enhanced-viewer #lightbox:has(.viewer-status:not(:empty)) #lightbox-desc-tooltip{bottom:128px}
}
@media(max-width:767px){
 .enhanced-viewer #lightbox .viewer-actions{gap:6px}
 .enhanced-viewer #lightbox .viewer-actions>button,.enhanced-viewer #lightbox .viewer-tools-toggle{padding:9px 10px}
 .enhanced-viewer #lightbox #lightbox-desc-tooltip{bottom:185px;max-height:max(120px,calc(100dvh - 340px))}
}
@media(max-width:767px){
 .viewer-tools-menu{position:static}
 .viewer-tools-menu .viewer-tools{top:calc(100% + 8px);right:16px;z-index:8}
}
@media(max-width:380px){
 .enhanced-viewer #lightbox .viewer-actions{gap:4px}
 .enhanced-viewer #lightbox .viewer-actions>button,.enhanced-viewer #lightbox .viewer-tools-toggle{padding:9px 8px;font-size:11px;gap:5px}
 .enhanced-viewer #lightbox .viewer-actions>button svg{width:16px;height:16px}
}

.viewer-tools-menu .viewer-tools{transform-origin:top right}
@media(min-width:768px) and (hover:hover) and (pointer:fine){
 .viewer-tools-menu::after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}
}
.location-loading{width:220px;max-width:70%;border-radius:4px;background:linear-gradient(90deg,#242424 25%,#383838 50%,#242424 75%);background-size:200% 100%;animation:location-shimmer 1.4s ease-in-out infinite;color:transparent!important}
@keyframes location-shimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.location-loading{animation:none}}
/* Local balanced viewer refinement: shared outer edges, tight photo/detail gap. */
@media(min-width:1024px){
 .enhanced-viewer #lightbox.viewer-details-open{--viewer-panel:clamp(300px,25vw,380px);--viewer-height:calc(100dvh - 200px);--viewer-photo-width:min(calc(100vw - 48px - var(--viewer-panel) - 28px),calc(var(--viewer-height) * var(--viewer-photo-ratio,1.5)));--viewer-group-width:calc(var(--viewer-photo-width) + 28px + var(--viewer-panel))}
 .enhanced-viewer #lightbox.viewer-details-open:has(.viewer-status:not(:empty)){--viewer-height:calc(100dvh - 228px)}
 .enhanced-viewer #lightbox.viewer-details-open .viewer-stage{left:calc((100vw - var(--viewer-group-width))/2);right:auto;width:var(--viewer-photo-width);justify-content:center}
 .enhanced-viewer #lightbox.viewer-details-open #lightbox-desc-tooltip{left:calc((100vw - var(--viewer-group-width))/2 + var(--viewer-photo-width) + 28px);right:auto;width:var(--viewer-panel);padding:24px}
}
.photo-coordinate-disclosure{margin:8px 0 16px;color:#aaa;font-size:12px}
.photo-coordinate-disclosure summary{cursor:pointer;min-height:28px;display:list-item;text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){
 .enhanced-viewer #lightbox:not(.hidden){grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw;overflow-x:hidden}
 .enhanced-viewer #lightbox .viewer-header{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
 .enhanced-viewer #lightbox .viewer-photo-heading{min-width:0;max-width:100%;box-sizing:border-box;padding-right:52px}
 .enhanced-viewer #lightbox .viewer-photo-heading h2{white-space:normal;overflow-wrap:anywhere;line-height:1.4}
 .enhanced-viewer #lightbox .viewer-photo-heading p{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.5}
 .enhanced-viewer #lightbox .viewer-stage,.enhanced-viewer #lightbox .viewer-footer{min-width:0;max-width:100%}
}

/* Metadata can be selected and copied independently of the photo gestures. */
.enhanced-viewer #lightbox #lightbox-desc-tooltip{user-select:text;-webkit-user-select:text;cursor:auto}
.photo-capture-details dd a{text-decoration:underline;text-decoration-color:#666;text-underline-offset:3px}
.photo-capture-details dd a:hover{color:#fff;text-decoration-color:currentColor}

.photo-description-editor{margin-top:16px;font-size:14px}
.photo-description-editor button{padding:8px 12px;border:1px solid #555;border-radius:6px;cursor:pointer;color:#eee;background:#222}
.photo-description-editor button:hover{border-color:#aaa}
.photo-description-editor label{display:block;font-weight:600}
.photo-description-editor textarea{display:block;box-sizing:border-box;width:100%;margin:8px 0;padding:10px;border:1px solid #777;border-radius:6px;background:#111;color:#fff;font:inherit;resize:vertical;min-height:100px}
.photo-description-editor small{display:block;color:#aaa;line-height:1.5}
.photo-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.photo-description-editor [role=status]{margin-top:8px;line-height:1.5}
.photo-description-editor :disabled{opacity:.6;cursor:wait}
.photo-description-editor :focus-visible{outline:2px solid #fff;outline-offset:3px}
