/* AkropoConn V26: imagenes completas. Visual-only; no Firestore writes. */
/* Invitados: marco retrato 4:5, compatible con imagenes verticales y horizontales. */
#guestCards .public-media, #guestIdols .public-media, #guestAlley .public-media,
#destacadosCards .public-media {position:relative;aspect-ratio:4/5;height:auto;min-height:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(155deg,#ffeaf9,#e7f7ff)}
#guestCards .public-media img,#guestIdols .public-media img,#guestAlley .public-media img,
#destacadosCards .public-media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;padding:9px;display:block}
/* Torneos: arte completo en una tarjeta cuadrada. */
.akro-tour-media{position:relative;aspect-ratio:1/1;height:auto;min-height:0;overflow:hidden}
.akro-tour-media img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;padding:9px;display:block}
/* Banners: no recortar texto ni arte del anuncio. */
.akro-announcement .banner-photo{width:100%;height:auto;min-height:205px;max-height:390px;aspect-ratio:16/9;object-fit:contain;object-position:center;padding:11px;background:linear-gradient(135deg,#f1ebff,#eafaff)}
.akro-announcement.no-photo .banner-body{grid-column:1/-1}
/* Logos y recompensas siempre completos. */
.sponsor-slide img{object-fit:contain;max-width:min(100%,380px);max-height:190px}
.akro-premio img{object-fit:contain}
/* Modales ya existentes, dimensionados para no cortar carteles. */
.akro-guest-modal-photo img,.akro-detail-visual img{object-fit:contain;object-position:center;max-height:min(72dvh,640px)}
.akro-guest-modal-photo,.akro-detail-visual{overflow:hidden}
/* Zoom sin recortes desde las imagenes publicadas. */
.akro-zoomable{cursor:zoom-in}
.akro-zoomable:focus-visible{outline:4px solid #ee24bd;outline-offset:-5px}
.akro-image-zoom{border:0;padding:0;width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);background:#fff;border-radius:22px;box-shadow:0 24px 80px #22204d9c;overflow:auto;color:#303353}
.akro-image-zoom::backdrop{background:#101128d9;backdrop-filter:blur(5px)}
.akro-image-zoom .akro-zoom-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;background:#f4f1ff}
.akro-image-zoom .akro-zoom-header strong{overflow-wrap:anywhere;font-size:14px}
.akro-image-zoom .akro-zoom-close{appearance:none;border:0;border-radius:14px;background:#fff;color:#6231a2;min-width:43px;min-height:43px;font-weight:900;font-size:26px;cursor:pointer}
.akro-image-zoom .akro-zoom-frame{display:grid;place-items:center;padding:12px;min-height:220px;background:linear-gradient(145deg,#fff7ff,#ecfaff)}
.akro-image-zoom .akro-zoom-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 125px);object-fit:contain}
.akro-image-zoom .akro-zoom-hint{font-size:12px;text-align:center;margin:0;padding:8px 12px;color:#545e7b}
/* Biblioteca admin: mostrar la fotografia real completa. */
.akro-admin-image-help{background:linear-gradient(140deg,#f8ecff,#e6f7ff);border:1px solid #ddc7f3;border-radius:15px;padding:14px;margin:12px 0 18px}
.akro-admin-image-help strong{display:block;margin-bottom:7px}
.akro-admin-image-help table{width:100%;min-width:0;font-size:12px}
.akro-admin-image-help td,.akro-admin-image-help th{padding:6px 9px}
.akro-admin-image-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0}
.akro-admin-image-preview[hidden]{display:none}
.akro-admin-image-preview img{width:min(230px,100%);max-height:260px;height:auto;object-fit:contain;background:#f5f4ff;border:1px solid #d5c9ef;border-radius:12px}
.akro-admin-image-preview p{font-size:13px;color:#445775;margin:0;flex:1;min-width:170px}
@media(max-width:700px){
.akro-announcement .banner-photo{height:auto;min-height:155px;max-height:320px;aspect-ratio:16/9;padding:7px}
.akro-guest-modal-photo img,.akro-detail-visual img{max-height:300px}
.akro-image-zoom{width:calc(100vw - 14px);border-radius:14px;max-height:calc(100dvh - 14px)}
.akro-image-zoom .akro-zoom-frame img{max-height:calc(100dvh - 115px)}
.akro-admin-image-help{overflow-x:auto}
}
