/* García Cando Arquitectos · V89.5-02.1 · GCA Image Viewer · focal + paneo completo */
:root{--gcaiv-bg:rgba(3,5,6,.88);--gcaiv-panel:rgba(13,16,17,.96);--gcaiv-line:rgba(255,255,255,.13);--gcaiv-text:#eef1f1;--gcaiv-muted:#98a1a2}
html.gcaiv-lock,html.gcaiv-lock body{overflow:hidden!important}
.gcaiv{position:fixed;inset:0;z-index:2147483000;display:none;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:var(--gcaiv-bg);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);box-sizing:border-box;--gcaiv-scale:1;--gcaiv-x:0px;--gcaiv-y:0px}
.gcaiv.open{display:grid}.gcaiv[aria-hidden="true"]{display:none}
.gcaiv-dialog{position:relative;width:min(1500px,calc(100vw - 28px));height:min(94svh,980px);max-width:100%;max-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--gcaiv-line);border-radius:24px;overflow:hidden;background:linear-gradient(155deg,rgba(21,24,25,.98),rgba(7,9,10,.98));box-shadow:0 38px 120px rgba(0,0,0,.58);box-sizing:border-box}
.gcaiv-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--gcaiv-line);background:rgba(10,12,13,.88);backdrop-filter:blur(16px)}
.gcaiv-meta{min-width:0}.gcaiv-title{display:block;max-width:min(70vw,900px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.05em;color:var(--gcaiv-text)}
.gcaiv-sub{display:block;margin-top:4px;max-width:min(70vw,900px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 9px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gcaiv-muted)}
.gcaiv-close{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--gcaiv-line);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;font-size:25px;line-height:1;cursor:pointer}.gcaiv-close:hover{background:rgba(255,255,255,.12)}
.gcaiv-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;overscroll-behavior:contain;padding:18px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.045),transparent 45%);box-sizing:border-box}
.gcaiv-image-wrap{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;box-sizing:border-box;touch-action:none;overscroll-behavior:none;cursor:zoom-in}
.gcaiv-img{position:absolute;left:0;top:0;display:block;max-width:none!important;max-height:none!important;width:var(--gcaiv-base-w,1px)!important;height:var(--gcaiv-base-h,1px)!important;object-fit:contain!important;object-position:center center;transform:translate3d(var(--gcaiv-x),var(--gcaiv-y),0) scale(var(--gcaiv-scale));transform-origin:0 0;transition:none;user-select:none;-webkit-user-drag:none;will-change:transform;box-shadow:0 16px 70px rgba(0,0,0,.28)}
.gcaiv-img.gcaiv-portrait,.gcaiv-img.gcaiv-landscape,.gcaiv-img.gcaiv-square{max-width:none!important;max-height:none!important}
.gcaiv.gcaiv-zoomed .gcaiv-image-wrap{cursor:grab}.gcaiv.gcaiv-panning .gcaiv-image-wrap{cursor:grabbing}
.gcaiv-foot{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:10px 14px;border-top:1px solid var(--gcaiv-line);background:rgba(10,12,13,.9)}
.gcaiv.gcaiv-no-caption .gcaiv-foot{display:none}.gcaiv-caption{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gcaiv-muted);font:400 9px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.gcaiv-enabled{cursor:zoom-in}
@media(max-width:760px){.gcaiv{padding:0}.gcaiv-dialog{width:100%;height:100svh;max-width:none;max-height:none;border:0;border-radius:0}.gcaiv-stage{padding:10px}.gcaiv-title,.gcaiv-sub{max-width:68vw}.gcaiv-caption{display:none}.gcaiv-foot{display:none}.gcaiv-close{width:42px;height:42px}}
@media(orientation:landscape) and (max-height:640px){.gcaiv-dialog{height:calc(100svh - 16px)}.gcaiv-head{padding:8px 12px}.gcaiv-stage{padding:8px}.gcaiv-close{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.gcaiv-img{transition:none}}
