.tgcp-pet-profile{max-width:1000px;margin:0 auto}.tgcp-pet-profile-hero{display:grid;grid-template-columns:minmax(260px,48%) 1fr;gap:28px;align-items:center}.tgcp-pet-profile-hero .tgcp-public-photo{border-radius:16px}.tgcp-pet-gallery,.tgcp-gallery-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin:18px 0}.tgcp-pet-gallery button{padding:0;border:2px solid transparent;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer}.tgcp-pet-gallery button:hover,.tgcp-pet-gallery button:focus{border-color:#1f6d75}.tgcp-pet-gallery img,.tgcp-gallery-admin img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.tgcp-gallery-admin label{display:block;border:1px solid #dcdcde;border-radius:10px;overflow:hidden;background:#fff}.tgcp-gallery-admin span{display:flex;align-items:center;gap:6px;padding:8px}.tgcp-pet-description{margin-top:24px;font-size:1.05em}@media(max-width:620px){.tgcp-pet-profile-hero{grid-template-columns:1fr}.tgcp-pet-gallery,.tgcp-gallery-admin{grid-template-columns:repeat(3,1fr)}}
/* Consistent photo management in Pets In and the Pet Register */
.tgcp-photo-manager,.tgcp-photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:14px 0}
.tgcp-photo-tile{min-width:0;display:flex;flex-direction:column;gap:7px;border:1px solid #d6dadd;border-radius:12px;padding:8px;background:#fff;overflow:hidden}
.tgcp-photo-tile img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:8px;display:block}
.tgcp-photo-tile small{overflow-wrap:anywhere;color:#53616c}
.tgcp-photo-actions{display:flex;gap:5px;flex-wrap:wrap}
.tgcp-photo-actions .button{min-height:34px;flex:1 1 auto;text-align:center}
.tgcp-photo-pending-remove{opacity:.55;border-color:#b42318;background:#fff4f2}
.tgcp-photo-manager input[type=checkbox][name="remove_gallery[]"]{position:absolute;opacity:0;pointer-events:none}
@media(max-width:782px){.tgcp-photo-manager,.tgcp-photo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}.tgcp-photo-tile{padding:7px}.tgcp-photo-actions .button{font-size:12px;padding:3px 6px}}
/* Unified pet photo editing */
.tgcp-main-photo-label{display:block;font-size:12px;color:#146c43;margin:4px 0}.tgcp-photo-crop-overlay:not([hidden]){position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:999999;display:grid;place-items:center;padding:12px}.tgcp-photo-crop-card{background:#fff;border-radius:12px;padding:18px;max-width:660px;width:min(100%,660px);max-height:95vh;overflow:auto}.tgcp-photo-crop-card canvas{display:block;max-width:100%;height:auto;touch-action:none}.tgcp-photo-crop-buttons{display:flex;gap:12px;margin-top:12px}.tgcp-photo-tile img{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.tgcp-photo-actions{display:flex;flex-wrap:wrap;gap:5px}

/* Unified Pets In photo cards */
#intake-photo-preview img,#new-pair-photos [id^="intake-pair-photo-"] img,#intake-batch-photos [id^="intake-batch-photo-"] img{width:140px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}
#intake-photo-preview,#new-pair-photos fieldset,#intake-batch-photos fieldset{max-width:100%;box-sizing:border-box}
#intake-batch-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
@media(max-width:782px){#intake-batch-photos{grid-template-columns:repeat(2,minmax(0,1fr))}#intake-batch-photos fieldset{min-width:0;padding:8px}#intake-batch-photos input{max-width:100%}}

/* Public profile full-screen lightbox, including mobile gestures */
.tgcp-pet-profile [data-gallery-main],.tgcp-fish-profile [data-gallery-main],
.tgcp-pair-card-photo img {cursor:zoom-in}
.tgcp-public-lightbox[hidden]{display:none!important}
.tgcp-public-lightbox{position:fixed;inset:0;z-index:2147483000;background:rgba(7,12,18,.97);color:white;display:flex;flex-direction:column;overscroll-behavior:contain}
body.tgcp-lightbox-open{overflow:hidden!important}
.tgcp-lightbox-toolbar{display:flex;align-items:center;gap:8px;padding:max(9px,env(safe-area-inset-top)) 12px 8px;background:rgba(20,25,29,.97);min-height:48px;box-sizing:border-box}
.tgcp-lightbox-counter{font:600 15px Arial,sans-serif;color:#fff}
.tgcp-lightbox-spacer{flex:1}
.tgcp-public-lightbox button{background:#303944;color:#fff;border:1px solid #56606c;border-radius:7px;min-width:40px;height:40px;font:700 21px Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.tgcp-public-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.tgcp-public-lightbox button:disabled{opacity:.3}
.tgcp-lightbox-toolbar .tgcp-lightbox-reset{font-size:12px;min-width:55px}
.tgcp-lightbox-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.tgcp-lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center center;will-change:transform}
.tgcp-lightbox-stage .tgcp-lightbox-prev,.tgcp-lightbox-stage .tgcp-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(20,25,29,.7)}
.tgcp-lightbox-prev{left:8px}.tgcp-lightbox-next{right:8px}
.tgcp-lightbox-help{font:13px Arial,sans-serif;text-align:center;padding:6px 12px max(8px,env(safe-area-inset-bottom));color:#d1d5db}
@media(max-width:600px){.tgcp-lightbox-stage .tgcp-lightbox-prev,.tgcp-lightbox-stage .tgcp-lightbox-next{top:auto;bottom:10px;transform:none}.tgcp-lightbox-stage img{max-width:100vw}.tgcp-lightbox-toolbar{gap:5px;padding-inline:7px}.tgcp-lightbox-help{font-size:11px}}
