        /* La fotografía se comporta como un botón para abrir la vista ampliada. */
        .boton-ampliar-imagen {
            display: block;
            width: 100%;
            padding: 0;
            border: 0;
            
            background: transparent;
            cursor: zoom-in;
        }

        .boton-ampliar-imagen:focus-visible {
            outline: 3px solid #c97832;
            outline-offset: 3px;
        }

        /* Visor de imagen a pantalla completa. */
        .visor-imagen-reproductor {
            position: fixed;
            inset: 0;
            z-index: 9999;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 24px;
            background: rgba(0, 0, 0, 0.88);
        }

        .visor-imagen-reproductor.esta-abierto {
            display: flex;
        }

        .visor-imagen-reproductor img {
            display: block;
            max-width: min(1100px, 94vw);
            max-height: 88vh;
            object-fit: contain;
            border-radius: 4px;
            box-shadow: 0 18px 55px rgba(0, 0, 0, 0.45);
        }

        .cerrar-visor-imagen {
            position: absolute;
            top: 18px;
            right: 22px;
            width: 46px;
            height: 46px;
            border: 1px solid rgba(255, 255, 255, 0.55);
            border-radius: 50%;
            color: #ffffff;
            background: rgba(0, 0, 0, 0.35);
            font-size: 30px;
            line-height: 1;
            cursor: pointer;
        }

        .cerrar-visor-imagen:hover,
        .cerrar-visor-imagen:focus-visible {
            background: #c97832;
        }

        body.visor-imagen-abierto {
            overflow: hidden;
        }