/* BigJoe species-photo v5: verified photos with clearly labeled replacement placeholders. */
.guide-photo.guide-photo-dynamic,.library-photo-slot{position:relative;overflow:hidden;background:#062e3e;color:#fff}
.guide-photo.guide-photo-dynamic[hidden],.library-photo-slot[hidden]{display:grid!important}
.guide-photo.guide-photo-dynamic{min-height:280px;aspect-ratio:4/3;border:2px dashed rgba(255,255,255,.48);border-radius:14px;place-items:center;text-align:center;padding:2.6rem 1rem 1.15rem}
.library-photo-slot{display:grid;aspect-ratio:4/3;border-radius:inherit;place-items:center;text-align:center;padding:2.35rem .7rem .8rem;border-bottom:1px solid rgba(255,255,255,.18)}
.guide-photo.guide-photo-dynamic:empty::before,.library-photo-slot:empty::before{content:"PHOTO TO REPLACE";position:absolute;top:.65rem;left:50%;transform:translateX(-50%);padding:.25rem .55rem;border:1px solid rgba(255,255,255,.6);border-radius:999px;font-size:.69rem;font-weight:800;letter-spacing:.08em;white-space:nowrap;background:rgba(0,20,31,.62)}
.guide-photo.guide-photo-dynamic[data-photo-lang="es"]:empty::before,.library-photo-slot[data-photo-lang="es"]:empty::before{content:"FOTO PARA REEMPLAZAR"}
.guide-photo.guide-photo-dynamic:empty::after,.library-photo-slot:empty::after{content:attr(data-photo-common) "\A" attr(data-photo-scientific) "\A\A Whole fish • in water • clear profile";white-space:pre-line;font-weight:750;line-height:1.35;font-size:1rem}
.guide-photo.guide-photo-dynamic[data-photo-lang="es"]:empty::after,.library-photo-slot[data-photo-lang="es"]:empty::after{content:attr(data-photo-common) "\A" attr(data-photo-scientific) "\A\A Pez completo • en el agua • perfil claro"}
.library-photo-slot:empty::after{font-size:.84rem}
.guide-photo.guide-photo-dynamic img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#062e3e}
.guide-photo.guide-photo-dynamic:not(:empty){display:block;padding:0;border:0;min-height:0}
.guide-photo.guide-photo-dynamic figcaption{font-size:.78rem;line-height:1.35;padding:.35rem .1rem 0;color:inherit}
.library-photo-slot>img{display:block;width:100%;height:100%;object-fit:cover}
.library-photo-slot:not(:empty){display:block;padding:0;border:0}
.library-photo-slot .species-photo-credit{position:absolute;left:0;right:0;bottom:0;padding:.32rem .45rem;background:rgba(0,20,31,.78);color:#fff;font-size:.62rem;line-height:1.25}
.library-photo-slot .species-photo-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}
@media(max-width:520px){
  .guide-photo.guide-photo-dynamic{min-height:230px}
  .library-photo-slot .species-photo-credit{font-size:.58rem}
  .library-photo-slot:empty::after{font-size:.78rem}
}
